如果我需要选择的时间少于datetime,我会这样做:
SELECT StackerReplacedEventID, Occured
FROM StackerReplacedEvent
WHERE Occured<CONVERT(DATETIME, 'Jul 11 2011 03:50PM', 120)
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误.我也尝试过这种方式:
WHERE Occured<'Jul 11 2011 03:50PM'
Run Code Online (Sandbox Code Playgroud)
使用ISO日期格式而不是区域和/或语言特定的格式.
WHERE Occured < '2011-07-11T15:50:00';
Run Code Online (Sandbox Code Playgroud)
既然我们知道语言设置是俄语(经过15次尝试),也许我们可以在这里做一些暴力工作.
WHERE Occured < CONVERT(DATETIME,
REPLACE(N'Jul 11 2011 03:50PM', N'Jul', N'???'), 100)
Run Code Online (Sandbox Code Playgroud)
请注意,N前缀很重要!
所以实际上,因为你将拥有代表所有12个月的数据,它可能是这样的:
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
original_column,N'Jan', N'???')
,N'Feb', N'???')
,N'Mar', N'???')
,N'Apr', N'???')
,N'May', N'???')
,N'Jun', N'???')
,N'Jul', N'???')
,N'Aug', N'???')
,N'Sep', N'???')
,N'Oct', N'???')
,N'Nov', N'???')
,N'Dec', N'???')
Run Code Online (Sandbox Code Playgroud)
但这太可怕了.请考虑为此数据选择正确的数据类型.
现在你明白为什么要理解你使用的语言,而不是"帮助"翻译错误信息,这很重要吗?
| 归档时间: |
|
| 查看次数: |
6438 次 |
| 最近记录: |