SQL-Server - 日期转换

时间:2011-04-05 14:12:47

标签: sql-server tsql

我有一个以16/08/2010 17:17

格式存储的日期字段

我试图将其存储为日期时间,以便我可以对其进行转换。

问题是当我这样做时,我发现了超出范围的错误。 我该如何解决这个问题?

我的查询:

CAST(agreement_Date AS Datetime)
CONVERT(varchar,agreement_date,126)

错误:

  

varchar数据类型的转换   到日期时间数据类型导致了   超出范围的价值。

2 个答案:

答案 0 :(得分:3)

而不是CAST使用:

CONVERT(datetime, agreement_Date, 103)

103指定dd/mm/yy转换,我认为这是您的问题。 SQL Server首先查找月份,这会导致超出范围的异常。

答案 1 :(得分:1)

尝试使用103风格的CONVERT: http://msdn.microsoft.com/en-us/library/ms187928.aspx

SELECT CONVERT(datetime,'16/08/2010 17:17',103)

- > 2010-08-16 17:17:00.000

@Edit:错误的样式参数