SQL Server:将所有varchar转换为mm / dd / yyyy格式

时间:2015-02-10 19:02:09

标签: sql-server

我想将所有日期投放到mm/dd/yyyy

我的输入位于varchar。所以我想施展它。我投出

时遇到错误
CAST(mmddyyy or ddmmyyy as datetime)

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

要以适当的格式获取日期时间数据,您可以使用CONVERT函数

DECLARE @s DATETIME

SELECT @s = CONVERT(DATETIME, '03/13/2013', 101)

答案 1 :(得分:0)

Sql Server?可能需要字符串拆分并重新组装日期部分。需要更多信息。

update data
set data = 
    dateadd(yy, cast((substring(data, 5, 3)) as int) + 1900, /* ?? */
    dateadd(dd, cast((substring(data, 3, 2)) as int) - 1,
    dateadd(mm, cast((substring(data, 1, 2)) as int) - 1, '19000101')))

互联网上有很多信息。

答案 2 :(得分:0)

使用DATEFORMAT告诉SQL如何解释文本中的日期。

SET DATEFORMAT dmy;
SELECT CAST('11-02-2015' as datetime)
SET DATEFORMAT mdy;
SELECT CAST('11-02-2015' as datetime)

enter image description here

更多信息:https://msdn.microsoft.com/fr-fr/library/ms189491.aspx