这个SQL查询:
select c1 from table where c1='';
Run Code Online (Sandbox Code Playgroud)
返回c1=' 'MySQL 中有(一个空格)的行.
这是故意还是错误?
编辑:请在这里查看SQL Fiddle链接,SELECT查询中的空格数无关紧要.
文档中已全部说明。我在这里引用了要点。但我建议阅读完整的文档
\n\n\n\n\n\n\nVARCHAR 值在存储时不会被填充。存储和检索值时,将保留尾随空格,以符合标准 SQL。
\n\n另一方面,CHAR 值在存储时会被填充,但在检索时会忽略尾随空格。
\n
\n\n\n所有 MySQL 排序规则都是 PADSPACE 类型。这意味着比较 MySQL 中的所有 CHAR、\n VARCHAR 和 TEXT 值,而不考虑任何尾随空格。此上下文中的 \xe2\x80\x9cComparison\xe2\x80\x9d 不包括\n LIKE 模式匹配运算符,该运算符的尾随空格\n 很重要。
\n
说明: Trailing spaces使用比较运算符(\'=\')比较字符串时被忽略。但尾随空格对于LIKE(pattern matching operator )
| 归档时间: |
|
| 查看次数: |
863 次 |
| 最近记录: |