比较2个字符串值之间的字符串?

时间:2020-04-24 23:39:20

标签: sql sql-server

这是我在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个字符串值之间的字符串?

1 个答案:

答案 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