0

我正在使用 SQL Server 2008 R2

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

我有一个使用以下内容创建字段交付日期的视图:

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

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

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

4

3 回答 3

3

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

select CAST('2012-03-11 16:24:42.0000000' as DATE)
于 2013-04-25T13:58:51.683 回答
0

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

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

演示

这甚至适用于 MS SQL-Server 2005。

转换和转换 (Transact-SQL)

于 2013-04-25T14:01:00.127 回答
-3

试试这个链接网站显示了几个格式选项。

例子:

SELECT CONVERT(VARCHAR(10), GETDATE(), 105) 
于 2013-04-25T14:02:00.990 回答