草庐IT

case-insensitive

全部标签

"CASE WHEN"中的 MYSQL 正则表达式

我想在这样的CASEWHEN上下文中使用REGEXP:SELECTCASEtitleWHENREGEXP'^(TheMatrix|Riddick|AmericanPie)$'THEN('Movie')ELSE('FOOO')ENDFROM`movies`但这是不可能的。如您所见,我想在这里匹配不同的字符串。问候,菲利克斯 最佳答案 这确实是可能的,只要语法正确。REGEXP需要左侧和右侧操作数,因此请使用CASE的其他语法,其中完整表达式放在WHEN之后。SELECTCASEWHEN`title`REGEXP'^(TheMatrix

mysql - 在 SQL 中使用 IF/CASE 条件

我有一个关于如何在SQL中使用IF语句的问题,所以我有3个表用户力学交流各表的字段如下usermechanicsexchanges-------------------------namenameid_userid_userid_mechaid_mechamessage我想使用类似下面的条件,我将选择user或mechanic的名称及其相应的message如果他们的id与exchanges为他们每个人(user或mechanic)拥有的那个相匹配SELECTCASEWHENmechanics.id_mecha=exchanges.id_mechaTHENmechanics.name,e

java - 如何在 Hibernate Where 子句中使用 CASE WHEN

请给出在HQL中使用CASEWHEN的例子。我在我的代码中使用了以下查询。intreceiptNumber=100;Stringhql="SELECTbFROMOOPExtractasb"+"WHERE"+"b.tranStatId="+receiptNumber+"AND"+"b.orderTypeIN('EMERGENCY','PLENARY','PETITION','EXTENSION','MOTION')AND"+"CASEWHENb.orderType=='MOTION'"`entercodehere`+"THEN"+"b.status='MOTION_SIGNED'"+"E

mysql - 寻找不区分大小写的 MySQL 排序规则,其中 "a"!= "ä"

我正在寻找适用于UTF8的MySQL排序规则,它不区分大小写并区分“a”和“ä”(或者更一般地说,区分变音/重音字符和它们的“纯”形式)。utf8_general_ci做前者,utf8_bin做后者,botnone做两者。如果没有这样的排序规则,我该怎么做才能在WHERE子句中尽可能接近? 最佳答案 我的建议是使用utf8_bin并在您的WHERE子句中,将比较的两边都强制为大写或小写。 关于mysql-寻找不区分大小写的MySQL排序规则,其中"a"!="ä",我们在StackOver

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 - 如何创建带重音的 Mysql 唯一不区分大小写的索引 - (或使用 NO 排序规则)

我正在与排序规则作斗争。我想在不区分大小写但区分“a”和“à”的单词上建立一个具有唯一索引的表。这意味着“de”和“dé”应该是2个不同的条目,但de、De、DE、dE应该是相同的。是否有一个utf8排序规则可以完成这项工作(似乎不是这样)?有没有办法告诉mysql不要使用任何排序规则?还有其他解决方案吗?我不想把我的话改成小写或大写谢谢 最佳答案 Isthereanutf8collationthatdothejob(itdoesnotseemstobethecase)?MySQL附带的排序规则都不会这样做:utf8_*_ci排序规

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

php - PHP 和 MySQL 的大小写敏感问题

我试图通过PHP从MySQL数据库返回一个XML列表,但遇到了区分大小写的问题。这是我正在使用的当前代码$query="SELECT*FROMFOOWHEREFOOLIKE'%$term%'ORDERBYFOO";在我的数据库中,我将名字列为“Joe”,因此为了返回XML,我必须将$term输入为“Joe”。我不会用“joe”或“JOE”,但我想用。我不确定是否可以直接通过PHP完成此操作,或者是否需要调整MySQL表。 最佳答案 SELECT*FROMfooWHEREfooCOLLATEUTF8_GENERAL_CILIKE'%$