MySQL中的字符串比较

MySQL中的字符串比较,第1张

你这两个都不是字符的比较函数呀。

MYSQL的字符串比较函数如下:

通常,如果在字符串比较中的任何表达式是区分大小写的,比较以大小写敏感的方式执行。

expr LIKE pat [ESCAPE 'escape-char']

使用SQL的简单的正规表达式比较的模式匹配。返回1(TRUE)或0(FALSE)。用LIKE,你可以在模式中使用下列2个通配符字符: % 匹配任何数目的字符,甚至零个字符

_ 精确匹配一个字符

mysql>select 'David!' LIKE 'David_'

->1

mysql>select 'David!' LIKE '%D%v%'

->1

为了测试一个通配符的文字实例,用转义字符的加在字符前面。如果你不指定ESCAPE字符,假定为“\”:

\% 匹配一%字符

\_ 匹配一_字符

mysql>select 'David!' LIKE 'David\_'

->0

mysql>select 'David_' LIKE 'David\_'

->1

为了指定一个不同的转义字符,使用ESCAPE子句:

mysql>select 'David_' LIKE 'David|_' ESCAPE '|'

->1

LIKE允许用在数字的表达式上!(这是MySQL对ANSI SQL LIKE的一个扩充。)

mysql>select 10 LIKE '1%'

->1

注意:因为MySQL在字符串中使用C转义语法(例如,“\n”),你必须在你的LIKE字符串中重复任何“\”。例如,为了查找“\n”,指定它为“ \\n”,为了查找“\”,指定它为“\\\\”(反斜线被分析器剥去一次,另一次是在模式匹配完成时,留下一条单独的反斜线被匹配)。

expr NOT LIKE pat [ESCAPE 'escape-char']

与NOT (expr LIKE pat [ESCAPE 'escape-char'])相同。

expr REGEXP pat

expr RLIKE pat

执行一个字符串表达式expr对一个模式pat的模式匹配。模式可以是一个扩充的正则表达式。见MySQL 正则表达式句法的 H 描述.如果expr匹配pat,返回1,否则返回0。RLIKE是REGEXP的一个同义词,提供了与mSQL的兼容性。注意:因为MySQL在字符串中使用C转义语法(例如,“\n”), 你必须在你的REGEXP字符串重复任何“\”。在MySQL3.23.4中,REGEXP对于正常的(不是二进制)字符串是忽略大小写。

mysql>select 'Monty!' REGEXP 'm%y%%'

->0

mysql>select 'Monty!' REGEXP '.*'

->1

mysql>select 'new*\n*line' REGEXP 'new\\*.\\*line'

->1

mysql>select "a" REGEXP "A", "a" REGEXP BINARY "A"

->1 0

当决定一个字符的类型时,REGEXP和RLIKE使用当前的字符集(缺省为ISO-8859-1 Latin1)。

expr NOT REGEXP pat

expr NOT RLIKE pat

与NOT (expr REGEXP pat)相同。

STRCMP(expr1,expr2)

如果字符串相同,STRCMP()回来0,如果第一参数根据当前的排序次序小于第二个,返回-1,否则返回1。

mysql>select STRCMP('text', 'text2')

->-1

mysql>select STRCMP('text2', 'text')

->1

mysql>select STRCMP('text', 'text')

->0

你的记录集里只有2条呀,除了李四,或者也可以这样写

select * from t_user where name not in ('李四')

这样也可以查除了name是李四的总条数

select COUNT(*) from t_user where name not in ('李四')


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6128974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-15
下一篇 2023-03-15

发表评论

登录后才能评论

评论列表(0条)

保存