2017-03-01 21 views
0

下午好,更改的Varchar日期DD/MM/YYYY以日期时间YYYY-MM-DD

我目前需要CONVER有日期的VARCHAR我的表列的一个(10) - DD/MM/YYYY格式化为yyyy-mm-dd日期格式

这是可能的吗?我没有使用SQL一会儿

谢谢

+1

是的,这是可能的。你使用哪个dbms?该解决方案可能与产品相关,因为大多数产品在日期/时间方面远不符合ANSI SQL标准。 – jarlh

+0

日期数据类型不具有固有格式。显示的格式取决于您的本地设置。 – HoneyBadger

+0

嗨,我正在使用SQL Server Management Studio – user3565178

回答

0

你应该,如果可能的话,更改表的结构日期数据类型列,以保存日期值。

如果你不能改变表的结构,你可以使用CONVERT

SELECT CONVERT(Date, VarCharColumn, 103) As DateValue 
FROM YourTable 
WHERE VarCharColumn LIKE '[0-3][0-9]/[0-1][0-9]/[0-9][0-9][0-9][0-9]' 
AND ISDATE(VarCharColumn) = 1 
+0

它是SQL Server 2008,使用时出现以下错误 - 转换日期和/或时间从字符串转换失败 – user3565178

+1

这意味着表中的某个地方有一个值无法转换为此日期格式。 –

+0

我已经编辑了我的答案,以包含一个where子句,它应该帮助创建一个不符合'dd/mm/yyyy'格式的值。请注意,相似的部分也会允许像'39/17/0000'这样的值,所以还有'isdate'的用法。 –

相关问题