mssql sqlserver 字符串末尾或开始部分包含空格的比较方法分享


摘要:
下文讲述当字符串开始或结尾部分包含空格的对比方法,如下所示:
实验环境:sql server 2008 R2


在一次字符串的对比操作中,我在字符串末尾输入了一个空格,但是在做if判断时,竟然说两个字符串是一样,
下文将通过举例的方式,讲述对字符串中开始和结尾存在空格的对比方法,如下所示:

 DECLARE @maomao365A VARCHAR(30)= 'sqlserver'
DECLARE @maomao365B VARCHAR(30)= 'sqlserver ' ---在变量值后面加入了一个空格

IF ( @maomao365A = @maomao365B ) 
    PRINT N'变量相等1'
ELSE 
    PRINT N'变量相等2'

IF (@maomao365A+'T' = @maomao365B+'T' ) 
    PRINT N'变量相等3'
ELSE 
    PRINT N'变量相等4'
--------输出结果-------
变量相等1
变量相等4

从上面的运行结果,我们可以得出,
当前后存在空格的时候,我们进行字符串的对比时,开头和结尾的空格会被自动剔除,然后再进行比较
所以当字符串中可能包含空格时,我们应该对字符串前后都加上某一字符后,然后对组合后的新字符串进行对比。