2013-04-25 89 views
0

我在SQL Server工作2008 R2如何VARCHAR转换为日期

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

我有一个使用下面的创建领域DELIVERED_DATE一个观点:

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

格式化的领域是这样的:2012-03-11 16:24:42.0000000

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

+0

可能重复(http://stackoverflow.com/questions/1509977/convert-varchar-into-datetime-in-sql-server ) – 2013-04-25 13:56:13

+1

那么,你为什么不把FIX表格和第一个存储在正确的数据类型? – 2013-04-25 14:15:00

回答

3

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

select CAST('2012-03-11 16:24:42.0000000' as DATE) 
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)

-3

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

实施例:[转换到的varchar日期时间在SQL Server]

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

走错了方向。他已经有一个角色,想要得到一个日期时间。 – 2013-04-25 14:03:54

+0

引用的混淆部分是单词“格式”。他说他已经有了一个varchar(50),他想要某种日期。将“格式”替换为“类型”,它更有意义。 – 2013-04-25 14:07:50

相关问题