如何在sql中将varchar强制转换为datetime

时间:2013-11-22 00:07:31

标签: sql datetime sql-server-2012

我需要将一个字符串转换为日期时间,以便稍后进行比较。

我拥有的varchar就像这样的格式:

     29/11/2013 12:00:00 a.m.  

我需要它投射到:

     2013-11-29 00:00:00.000

我正在使用MSSQL Server 2012

所有

的Thx

2 个答案:

答案 0 :(得分:1)

请查看CAST and CONVERT以获取更多信息。

以下是一些例子:

-- converting from DD-MM-YYYY
select CONVERT(datetime, '29/11/2013 12:00:00 AM', 103)

-- converting from MM-DD-YYYY
select CONVERT(datetime, '11/29/2013 12:00:00 AM', 101)

答案 1 :(得分:0)

如果您的日期在数据库中的类型为varchar,那么您是否需要检索 然后出现这些案件:: case1:如果您的数据格式为" dd-MM-yyyy" 那么你需要使用如下查询 查询:: 选择*来自[yourTableName],其中convert(datetime,YourDateColumn,103)介于' 2016-02-12'(yyyy-MM-dd)和' 2016-03-12'

案例2:如果您的数据格式为" dd-MM-yyyy HH:mm:ss"

然后你需要使用如下查询 查询:: 从[yourTableName]中选择*,其中convert(datetime,YourDateColumn,105)介于' 2016-02-12'(yyyy-MM-dd)和' 2016-03-12'