嗨有一个语法问题 - 至少我认为是。我想要一个默认日期作为物化视图中 case 语句的一部分(MS SQL 2008 +):
, CASE
WHEN WithFirstDate = 0 THEN CONVERT(DATE,'1900-JAN-1', 101)
WHEN WithFirstDate = 1 THEN
Start1
ELSE --WithFirstDate = 2
Start2
END ValidDate
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:视图使用从字符串到日期时间或小日期时间的隐式转换。使用具有确定性样式值的显式 CONVERT
我想要一个无论本地化如何都有效的解决方案(即美国风格的日期、日本风格的日期和世界其他地区)
谢谢
代替:
CONVERT(DATE,'1900-JAN-1', 101)
Run Code Online (Sandbox Code Playgroud)
做就是了:
CONVERT(DATE,'1900-01-01')
Run Code Online (Sandbox Code Playgroud)
但是,问题可能出在其他两列Start1和Start2. 我猜这些不是DATE列。