我正在使用 MS SQL Server 2008,表格中有一列叫做 idate,它的格式是整数,但我希望在查询时以日期格式显示。是否可以将整数日期转换为正确的日期时间格式?
我正在使用 MS SQL Server 2008,表格中有一列叫做 idate,它的格式是整数,但我希望在查询时以日期格式显示。是否可以将整数日期转换为正确的日期时间格式?
你不能直接将整数值转换为日期,但可以先将它转换为datetime类型,然后再转换为日期类型
select cast(40835 as datetime)
然后在SQL 2008中转换为日期
select cast(cast(40835 as datetime) as date)
干杯!
你需要先将它转换成日期时间,然后再转换成日期。
尝试这个方法,可能会有帮助:
Select Convert(DATETIME, LEFT(20130101, 8))
然后转换为日期。
您可能想要查看 T-SQL 的CAST 和 CONVERT函数的文档,可以在此处找到:http://msdn.microsoft.com/en-US/library/ms187928(v=SQL.90).aspx
然后,在您的 T-SQL 查询中使用其中一个函数,将数据库中的 [idate] 列转换为您喜欢的日期时间格式,并输出。
SELECT [NUM]
,SUBSTRING(CONVERT(VARCHAR, DOB),5,2) AS mob
FROM [Dbname].[dbo].[Tablename]
DATEADD(DAY, 40835, '1900-01-01')
稍微快一些。 - Adam Wenger