使用IF的SQL字符串比较
发布时间:2020-05-24 14:55:16 所属栏目:MsSql 来源:互联网
导读:这可能是一个愚蠢的问题,但任何人都可以解释为什么SQL返回’False’ IF test = test -- notice leading space SELECT TrueELSE SELECT False 但是返回’True’ IF test = test -- notice trailing space SELECT TrueELSE SELECT
|
这可能是一个愚蠢的问题,但任何人都可以解释为什么SQL返回’False’ IF 'test' = ' test' -- notice leading space SELECT 'True' ELSE SELECT 'False' 但是返回’True’ IF 'test' = 'test ' -- notice trailing space SELECT 'True' ELSE SELECT 'False' 编辑: 我正在使用SQL Server 2008 R2 解决方法尾随空格被忽略.如果你想真正测试它们是否相同,那么这样的事情: DECLARE @foo nvarchar(50) = 'foo'
DECLARE @foo2 nvarchar(50) = 'foo ' -- trailing space
IF @foo = @foo2 AND DATALENGTH(@foo) = DATALENGTH(@foo2) --LEN ignores trailing spaces
SELECT 'true'
ELSE
SELECT 'false'
为什么你的例子是真的: http://www.timvw.be/2013/04/27/the-curious-case-of-trailing-spaces-in-sql/ 根据http://www.andrew.cmu.edu/user/shadow/sql/sql1992.txt:
(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQL语句优化提高数据库性能
- sql – 外键有多少?
- 实体框架 – 具有Identity列的SQL Server Compact 4.0表中插
- sql-server – 如何获取SQL Server表中每行的实际数据大小?
- SQL Server 2008中的Count(Distinct([value))OVER(Partitio
- insert select与select into 的用法使用说明
- MongoDB使用自带的命令行工具进行备份和恢复的教程
- 用于组中任何非特定值的SQL聚合函数
- sql-server – 是否可以使用存储过程获取mac地址?
- sql-server – 如何保留计算的GEOMETRY或GEOGRAPHY列
