这是我在SQL Server中的脚本:
declare @From varchar='280'
declare @To varchar='289'
declare @Cnt int = 0
if LEFT('2810',3) BETWEEN @From AND @To
begin
print('Hi')
end
else
begin
print('Bye')
end
我知道'281'在'280'和'289'之间
但是此脚本在应返回“ Hi”时始终返回“ Bye”。
此脚本是较大脚本的示例,该脚本可以具有诸如'T39','K92'的值
所以我不能将其用作数字280和289。
如何比较2个字符串值之间的字符串?
答案 0 :(得分:5)
始终定义(n)varchar
的长度:
declare @From varchar(10)='280'
declare @To varchar(10)='289'
declare @Cnt int = 0
if LEFT('2810',3) BETWEEN @From AND @To
begin
print('Hi')
end
else
begin
print('Bye')
end
返回
Hi
没有长度
declare @From varchar='280'
Select @From
返回
2