如何对单个空格进行字符串比较

如何对单个空格进行字符串比较,第1张

如何对单个空格进行字符串比较

BINARY
比较两个串的需要精确匹配

通常情况下,比较中不考虑尾随空格,但

BINARY
运算符会强制其为:

BINARY还导致尾随空格很大。

mysql> SELECt BINARY '   ' = ' ';+--------------------+| BINARY '   ' = ' ' |+--------------------+|       0 |+--------------------+

顺便说一句,受尾随空白问题影响的不仅仅是纯空白比较:

mysql> SELECT 'abc   ' = 'abc';+------------------+| 'abc   ' = 'abc' |+------------------+|     1 |+------------------+

…但…

mysql> SELECT BINARY 'abc   ' = 'abc';+-------------------------+| BINARY 'abc   ' = 'abc' |+-------------------------+| 0 |+-------------------------+

…甚至更令人困惑的是,领先的空白 重要:

mysql> SELECT ' abc   ' = 'abc';+-------------------+| ' abc   ' = 'abc' |+-------------------+|      0 |+-------------------+
关于索引

BINARY
将防止在字符列上使用索引。但是,文档上的注释建议,如果将运算符应用于比较的字符串文字侧, 则将 使用索引
BINARY
,如下所示:

SELECT * FROM `tbl` WHERe `col` = BINARY 'string   '


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

原文地址: http://outofmemory.cn/zaji/5022542.html

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

发表评论

登录后才能评论

评论列表(0条)

保存