如何将列中包含20160912
等值的数字转换为09/12/2016
格式的日期格式,并按日期格式的日期排序。
答案 0 :(得分:1)
您可以使用cast
和convert
内置函数。根据{{1}}的类型,您可以执行以下操作
A) 20160912
int
B) 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
只省略最里面的转化