为什么这个sql语句在SQL 2005中没有返回任何行?
select 1 from tblMessage where '210' = STR(210)
这应该始终为true并返回表中的所有行。
谢谢
答案 0 :(得分:2)
STR返回的默认长度为10.您可以指定长度。
select 1 from tblMessage where '210' = STR(210,3)
答案 1 :(得分:1)
STR
创建一个length 10 by default字符串。
尝试:
select ltrim(str(210))
或者,如果您知道您的号码有多长,您可以指定字符串长度,例如:
select str(210, 3)
您也可以使用数字本身来确定长度,例如:
select str(210, len(210))
所以,一个有效的例子:
declare @n as int
set @n = 123
select case when str(@n, len(@n)) = '123' then 'equal' else 'not equal' end