为什么sql不比较时间?

时间:2017-06-07 09:37:11

标签: sql sql-server tsql sql-server-2014

我比较这两次,如果它小于或大于彼此,但它没有。为什么?

 if(@OpeningTime < @ExpiryTime)
      Begin
            Raiserror('Opening time cannot be smaller than expiry time', 16,10);
            return
      End

两者都是varchar(10)类型

过去的时间是上午10:00和上午11:00

1 个答案:

答案 0 :(得分:8)

您实际在做的是比较字符串,您需要先将VARCHAR转换为TIME然后再进行比较。

IF ( CONVERT(TIME, @OpeningTime) < CONVERT(TIME, @ExpiryTime) )