如果我在SQL中运行以下查询
SELECT TOP 1
CONVERT(datetime,left(LD_publishdate,10),103)
AS R
FROM [patch_stats].[dbo].[vulns]
ORDER BY R DESC
我正在......
"将varchar数据类型转换为日期时间数据类型 导致了超出范围的价值。"
但如果我跑
SET language British
SELECT LD_publishdate
FROM [patch_stats].[dbo].[vulns]
WHERE ISDATE (LD_publishdate) = 1
然后只选择正确的值。
如何将第二个查询插入(嵌入)到第一个查询中,以便只转换正确的结果?
答案 0 :(得分:1)
您需要停止在字符串中存储日期。您需要将日期存储为日期以避免此类问题。
您可以尝试设置
SET DATEFORMAT DMY;
答案 1 :(得分:0)