新手问题,为何一个全角或半角空格与空串''比较,结果是相等呢?用等于号比较
---------
代码如下:
declare @a varchar(5)
set @a=' ' --这里放一个全角或半角空格
if @a=''
print '相等'
else
print '不相等'结果确是相等,真是不解。
---------
代码如下:
declare @a varchar(5)
set @a=' ' --这里放一个全角或半角空格
if @a=''
print '相等'
else
print '不相等'结果确是相等,真是不解。
set @a=' ' --这是全是空格,全角或半角的都有
if @a=''
print '相等'
else
print '不相等'
SOUNDEX(' '), DIFFERENCE('',' ')--
0000 0000 4
4 表示 SOUNDEX 值相同
set @a=' ' --这里放一个全角或半角空格
if len(@a)=0
print '相等'
else
print '不相等'
-----------
不相等
set @a=' ' --这里放一个全角或半角空格
if len(@a)=0
print '相等'
else
print '不相等'
-----------
不相等
=================
谢谢,不过我问的是,用等号比较为何是相等的
set @a=' ' --这里放一个全角或半角空格
if len(@a)=0
print '相等'
else
print '不相等'=============
老大,不对吧,你只加几个半角空格试试,结果是相等,所以这个方法是不行的
如果一定含有全角空格,用len()比较会是不相等的.
declare @a char(5)
set @a=' ' --这里放一个全角或半角空格
if @a=''
print '相'+@a+'等'else
print '不相等'
set @q='a a' --这里两个全角空格
print replace(@q,' ','|') --这里是半角空格--result
--a||a