我有一个选择,我需要确保我的 adate varchar(8) 在提供的两个日期之间。
有时传入的值是 NULL,所以我会显示所有内容。
select something from myTable where
convert(date, adate) >= ISNULL(convert(date,@beginDate), convert(date, adate))
工作正常
但是当我成功时:
select something from myTable where
convert(date, adate) >= ISNULL(convert(date,@beginDate), convert(date, adate))
and convert(date, adate) <= ISNULL(convert(date,@endDate), convert(date, adate))
我得到:
从字符串转换日期和/或时间时转换失败。
或者我可以在没有 >= 的情况下执行 <= 行而不会出错,但不能将它们都放在一起,这是怎么回事?
这两行看起来相同,我无法弄清楚我在这里做错了什么.....