下午好,更改的Varchar日期DD/MM/YYYY以日期时间YYYY-MM-DD
我目前需要CONVER有日期的VARCHAR我的表列的一个(10) - DD/MM/YYYY格式化为yyyy-mm-dd日期格式
这是可能的吗?我没有使用SQL一会儿
谢谢
下午好,更改的Varchar日期DD/MM/YYYY以日期时间YYYY-MM-DD
我目前需要CONVER有日期的VARCHAR我的表列的一个(10) - DD/MM/YYYY格式化为yyyy-mm-dd日期格式
这是可能的吗?我没有使用SQL一会儿
谢谢
你应该,如果可能的话,更改表的结构日期数据类型列,以保存日期值。
如果你不能改变表的结构,你可以使用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
它是SQL Server 2008,使用时出现以下错误 - 转换日期和/或时间从字符串转换失败 – user3565178
这意味着表中的某个地方有一个值无法转换为此日期格式。 –
我已经编辑了我的答案,以包含一个where子句,它应该帮助创建一个不符合'dd/mm/yyyy'格式的值。请注意,相似的部分也会允许像'39/17/0000'这样的值,所以还有'isdate'的用法。 –
是的,这是可能的。你使用哪个dbms?该解决方案可能与产品相关,因为大多数产品在日期/时间方面远不符合ANSI SQL标准。 – jarlh
日期数据类型不具有固有格式。显示的格式取决于您的本地设置。 – HoneyBadger
嗨,我正在使用SQL Server Management Studio – user3565178