“将varchar数据类型转换为日期时间数据类型会导致超出范围的值”如何解决此问题?

时间:2014-08-14 07:53:15

标签: sql datetime sql-server-2008-express

我的约会时间为14/08/2014 12:33:50 PMTXNDate

如果我使用2014-08-14 13:19:38.153函数选择当前日期,我会得到结果GetDate()

现在,我的疑问是我正在办公桌' EmpHistory'其中我只想要那些FromDate是' 14/08/2014 12:33:50 PM'(TXNDate)的行,但我在表格中记录了FromDate作为' 2014-08-14 13:19:38.153'

如何通过将TXNDateFromDate

进行比较来获得结果

1 个答案:

答案 0 :(得分:0)

SQL似乎在确定您使用的日期格式时遇到问题。您可以明确告诉它使用哪种格式。

日期格式为' 2014-08-14 13:19:38.153'你可以尝试" style"代码120.像这样:

Convert(datetime, '2014-08-14 13:19:38.153', 120)

对于格式为' 14/08/2014 12:33:50 PM'的日期,您可以使用"样式"代码103.像这样:

Convert(datetime, '14/08/2014 12:33:50 PM', 103)

MSDN有完整的样式代码列表和相应的数字。 http://msdn.microsoft.com/en-us/library/ms187928.aspx