Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server将数字转换为日期_Sql Server - Fatal编程技术网

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