草庐IT

which_case

全部标签

MySQL CASE EnumInt WHEN Varchar ELSE Int 返回为 BLOB - 如何转换为 Varchar?

以下返回一个BLOB,我如何将这个else值转换为VARCHAR来解决我的问题?SELECTCASEEnumIDWHEN1THEN'Red'WHEN2THEN'Green'WHEN3THEN'Blue'ELSEEnumIDENDASEnumValueFROMTable在MSSQL/TSQL中我使用ELSECAST([EnumID]ASVARCHAR(100))但是MySQL提示。我想要的只是一个故障转移,如果这个存储过程不知道一个新的枚举值来管理代码、主数据库和数据仓库数据持久性。必然是一个显而易见的答案...显然问题似乎出在使用VARCHAR上?刚发现CAST(EnumIDASCHA

MYSQL WHEN CASE THEN 什么都不做

我想做的是在一个非常简单的3列数据库中设置一些字段,我用它来管理一些复选框。如果id在列表中,我想将col_2设置为1,保持col_3状态不变。但如果id不在列表中,则将col_2和col_3设置为0。这是我目前所拥有的,它不起作用,因为它给了我一些警告并更改了col_3的值:UPDATEtSETcol_2=CASEWHENidIN(list)THEN1WHENidNOTIN(list)THEN0END,col_3=CASEWHENidNOTIN(list)THEN0ENDWHEREidISNOTNULL;感谢任何帮助:) 最佳答案

Mysql 使用 SELECT CASE 的结果存储变量

我正在学习如何使用SELECTCASE,但我不太了解,这是代码:SET@vgls=1;SET@lgls=1;SET@st=SELECTCASEWHEN@vgls=@lglsTHEN"emp"WHEN@vgls>@lglsTHEN"loc"WHEN@vgls它给我以下错误:[Err]1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyouMySQLserverversionfortherightsyntaxtousenear'SELECTCASEWHEN@vgls=@lglsTHEN"emp"WHEN@vg

mysql - 使用 CASE WHEN 查询

我正在尝试编写这样的查询,但出现错误。这是我第一次使用案例,所以我认为这就是问题所在。UPDATEmy_tableCASEWHENdownloadsISNULLTHENSETdownloads=1ELSESETdownloads+1ENDWHEREattachment_id=8990ANDparent_post_id=9221ORattachment_id=9211ANDparent_post_id=383 最佳答案 你可以重写如下UPDATEmy_tableSETdownloads=CASEWHENdownloadsISNULLT

选择时的 MySQL CASE

我有以下查询:SELECTCASEWHEN`def_spell`.`type`=0THEN`spells_damage`.*WHEN`def_spell`.`type`=1THEN`spells_weaken`.*ENDFROM`def_spell`LEFTJOIN`spells_damage`ON`def_spell`.`id`=`spells_damage`.`spell_id`LEFTJOIN`spells_weaken`ON`def_spell`.`id`=`spells_weaken`.`spell_id`WHERE`def_spell`.`id`=1;希望这是有道理的...

mysql - 如何根据 CASE 语句的值编写 WHERE 语句?

以下查询返回表names中所有new_name的结果集SELECTCASEWHENnickname=''THENfullnameELSEnicknameENDASnew_name,FROMnames我正在尝试使用以下查询按new_name进行搜索SELECTCASEWHENnickname=''THENfullnameELSEnicknameENDASnew_name,FROMnamesWHEREnew_nameLIKE'%Joh%'但是我得到了错误“where子句”中的未知列“new_name”有没有一种方法可以在不使用子查询的情况下使用此功能? 最佳答案

php - 最佳数据库(MySQL)结构 : Articles which contain favored tags

我建立了一个新闻网站:-文章按日期显示在首页上。先上最新的。-新闻在“新闻”表中,包含“id”、“title”、“text”和其他一些字段。-所有文章都标有1-5个相关标签。-标签在“tags”表中,带有“id”、“tag”、“article”和其他一些字段。-“tags”的“article”字段适合“news”的“id”字段。现在我想让用户有机会向他的“收藏标签列表”添加标签。那么用户应该只会看到包含其中一个喜欢的标签的新闻文章。假设用户Bob喜欢标签“barackobama”、“nba”、“newjersey”和“dogs”。他应该只看到至少包含这四个标签之一的文章。我如何编写实现

php - 查询优化 : Which SELECT syntax is faster?

给定5,000个记录在数据库中提取的ID,您认为哪个查询更快?使用php循环遍历5000个ID,并对每个ID执行SELECT查询,foreach($idsas$id){//dothequery$r=mysql_query("SELECT*FROMTABLEWHEREID={$id}");}或者将所有id收集到一个数组中,然后使用SELECT*FROMTABLEWHEREIDIN(1to5000)//assuming$ids=array(1,2----upto5000);$r=mysql_query("SELECT*FROMTABLEWHEREIDIN(".join(",",$ids).

mysql - 是否可以在 case 语句中按 "DESC/ASC"更改顺序 - MySql

我有一个带有命令排序的选择语句。现在orderby命令有一个基于记录状态的case语句,它按不同的列排序。但是,如果状态=1,我还需要按DESC排序,否则按ASC排序。我该怎么做?这是我目前的声明:SELECTph.phone_call_idASid,ph.call_subjectAScallSubject,ph.trigger_onAStriggerOn,ph.isAppointment,IFNULL(ph.last_attempt_on,"")last_attempt_on,ind.nameASindustry,ac.account_id,ac.account_nameASacco

mysql - 我使用 CASE 语句的查询有什么问题

我正在尝试解决http://www.sqlzoo.net/wiki/The_JOIN_operation上的#13|“如图所示,列出每场比赛以及每支球队的进球数。这将使用“CASEWHEN”,这在之前的任何练习中都没有解释过。”这是我的查询:SELECTgame.mdate,game.team1,SUM(CASEWHENgoal.teamid=game.team1THEN1ELSE0END)ASscore1,game.team2,SUM(CASEWHENgoal.teamid=game.team2THEN1ELSE0END)ASscore2FROMgameINNERJOINgoalON