如何将varchar转换为日期

时间:2013-04-25 13:54:37

标签: sql sql-server sql-server-2008-r2

我在SQL Server 2008 R2中工作

我需要将视图中的varchar(50)字段转换为日期格式。

我有一个使用以下内容创建字段deliver_date的视图:

convert(varchar(50),[delvd_dt],110) as [delivered_date]

格式化字段如下所示:2012-03-11 16:24:42.0000000

我需要将结果作为日期,以便我可以检查范围内的日期。我更愿意在视图中执行此操作,以便我可以使用SSRS为报告创建范围。

3 个答案:

答案 0 :(得分:3)

你试过cast()吗?以下内容为我返回正确的日期:

select CAST('2012-03-11 16:24:42.0000000' as DATE)

答案 1 :(得分:0)

也许您可以简单地截断毫秒并使用CONVERT

SELECT Convert(datetime, LEFT('2012-03-11 16:24:42.0000000', 19), 102) AS [Date]

Demo

即使在MS SQL-Server 2005中也是如此。

CAST and CONVERT (Transact-SQL)

答案 2 :(得分:-3)

试试这个link网站会显示几种格式选项。

示例:

SELECT CONVERT(VARCHAR(10), GETDATE(), 105)