我在yyyymmdd
日期有一个痛苦的时间。在此DB中,null
日期存储为空字符串。对于SQL Server日期不能使用BETWEEN
此执行就好了,我可以手动检查有在日期
SELECT
effective, expiration
FROM
(SELECT
CONVERT(date, date_effective, 112) as effective,
CONVERT(date, date_expiration, 112) as expiration
FROM ...) AS X
但后来没有不良时,我希望他们像这样比较:
...
) AS X
WHERE
GETDATE() BETWEEN effective AND expiration
,这将引发一个错误
从字符串转换日期和/或时间时转换失败。
我溺水并花了数小时试图让这个日期转换工作。我担心我唯一的选择是将我想要的东西粘到临时表中。日期转换不应该很难。请帮助我转换这些日期,并能够比较它们。
编辑:有这非常大的数据库DIRTY行,中行的0.003%是坏的
你能否确认你没有任何“脏”行,即那些不适合yyyymmdd或空字符串模式的行? – SqlOnly
我不能,我怀疑是这样。我要去处理一下 –
@SqlOnly BINGO有脏数据,我该如何处理? –