Sql server SQL Server将数字转换为日期
如何将列中具有值(如Sql server SQL Server将数字转换为日期,sql-server,Sql Server,如何将列中具有值(如20160912的数字转换为09/12/2016格式的日期格式,并按日期格式中的日期进行排序。您可以使用cast和convert内置函数。根据类型的不同,您可以执行以下操作。 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 = co
20160912
的数字转换为09/12/2016
格式的日期格式,并按日期格式中的日期进行排序。您可以使用cast
和convert
内置函数。根据类型的不同,您可以执行以下操作。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
忽略最里面的转换是那个数字吗?或字符串?最好首先在datetime存储它们。它的数据类型为数字(8),需要转换为日期格式。这是YYYYMMDD
还是yyyydmm
?