Kev*_*ang 5 t-sql string-comparison sql-server-2008 sql-server-2008-r2
Sql-Server 2008 R2
整理是Chinese_Simplified_Pinyin_100_CI_AS
.我用的时候
select 1 where N'?' = N'7'
Run Code Online (Sandbox Code Playgroud)
它输出1,但是当我将操作符更改为 like
select 1 where N'?' like N'7'
Run Code Online (Sandbox Code Playgroud)
它不会输出任何东西.
为什么like
操作员行为如此奇怪?我错过了什么?
这似乎是一个错误。LIKE
针对没有通配符的模式应该始终返回与=
返回的内容相同的内容。
其他人可以通过运行以下查询来查看此行为:
\n\nSELECT\n CASE WHEN N\'\xe2\x91\xa6\' COLLATE Chinese_Simplified_Pinyin_100_CI_AS = N\'7\' THEN \'Y\' ELSE \'N\' END,\n CASE WHEN N\'\xe2\x91\xa6\' COLLATE Chinese_Simplified_Pinyin_100_CI_AS LIKE N\'7\' THEN \'Y\' ELSE \'N\' END\n-- Y N\n
Run Code Online (Sandbox Code Playgroud)\n\n我看到您在 Microsoft Connect 上报告了该问题。
\n 归档时间: |
|
查看次数: |
1060 次 |
最近记录: |