SQL Server将数字转换为日期

问题描述:

如何将列中的数字与20160912等值转换为格式09/12/2016的日期格式,并按照日期格式排列日期。SQL Server将数字转换为日期

+1

是多少?或字符串? – Rahul

+2

最好在日期时间将它们存储在首位。 –

+0

它是数据类型编号(8),需要转换为日期格式。 –

您可以使用castconvert内置函数。根据什么类型20160912你可以做以下事情。
A)int

declare @d int=20160912 
select convert(varchar(20),convert(date,convert(varchar,@d)),101) 
--step by step 
declare @dStr varchar(20) 
set @dStr = convert(varchar,@d) --'20160912' 
-- or = cast(@d as varchar) 
declare @dDate date --or datetime 
set @dDate = convert(date, @dStr) --2016-09-12 (this is external representation) 
--show in MM/dd/yyyy format 
select convert(varchar(20), @dDate, 101) --magic 101 for MM/dd/yyyy 
--09/12/2016 

B)varchar只是省略最内转换