我创建了一个临时表,需要在其中过滤Effective_Date >= 2018-05-01
。我尝试过使用字符类型(DATETIME2)和WHERE条件的不同变体,但是得到以下错误消息:
Msg 241,第16级,状态1,第164行 从字符串转换日期和/或时间时转换失败。
DROP TABLE #EarnedPremium
GO
CREATE TABLE #EarnedPremium
([Policy_Number] VARCHAR(250)
,[Effective_Date] DATETIME2
,[Earned_Premium] MONEY
)
GO
INSERT INTO #EarnedPremium
SELECT
Policy_Number
,Effective_Date
,Earned_Premium
FROM dbo.AGG_EarnedPremium
WHERE Effective_Date >= '%2018-05-01 00:00:00.0000000%'
SELECT * FROM #EarnedPremium
任何建议将不胜感激!
答案 0 :(得分:1)
%
用于LIKE
,后者是用于比较模式匹配字符串的运算符。
您要根据订单比较日期。比较字符串以匹配模式并基于时间比较日期确实彼此无关。
仅使用日期比较:
WHERE Effective_Date >= '2018-05-01'