简单的问题似乎无法正确。
我的表格中包含20/09/2012
格式为varchar
的日期。
我需要转换为datetime
尝试了各种解决方案,但无法做到正确。
有什么建议吗?
由于
答案 0 :(得分:3)
使用样式103(英国/欧洲)的CONVERT
函数似乎对我有用:
DECLARE @input VARCHAR(20) = '20/09/2012'
SELECT
CONVERT(DATETIME, @input, 103)
使用这种方法,您可以将所有VARCHAR
日期转换为正确的数据类型 - DATETIME
- 并将它们存储为DATETIME
....
请参阅bad habits to kick : mis-handling date / range queries上的Aaron Bertrand精彩博文,了解更多背景信息,了解为什么将日期保存为VARCHAR
列真的非常糟糕....