Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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数字转换为日期时间相关查询_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

SQL数字转换为日期时间相关查询

SQL数字转换为日期时间相关查询,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我有一个具有以下结构的表,其中id是唯一的,日期是数字格式的 ID Date 1 20130914 2 20130609 3 Null 4 20140614 5 Null 你能帮我一个查询吗?在这个查询中,我可以将结果显示为 跟随 14-Sep-2013 请帮助试试这个 select replace(CONVERT(varchar(11),cast('20130914' as datetime),106),' ','-') SELECT R

我有一个具有以下结构的表,其中id是唯一的,日期是数字格式的

ID     Date
1     20130914
2     20130609
3     Null
4     20140614
5     Null 
你能帮我一个查询吗?在这个查询中,我可以将结果显示为 跟随

14-Sep-2013
请帮助

试试这个

select replace(CONVERT(varchar(11),cast('20130914' as datetime),106),' ','-')

SELECT REPLACE(CONVERT(varchar(11),datefield,106),' ','-') FROM TableA
您可以参考所有可用SQL Server日期格式的列表,即:


在Sql Server 2014和2012上测试

CREATE TABLE TESTDATES (DATEID INT IDENTITY(1,1), DATEVALUE int)

insert into TESTDATES(DATEVALUE) values(NULL);
insert into TESTDATES(DATEVALUE) values(20140614);


SELECT CONVERT(date, CAST(DATEVALUE AS NVARCHAR), 112) FROM TESTDATES WHERE DATEVALUE is not null
使用以下命令:


从TableName中选择日期格式(您的列名包含日期,%d-%M-%Y))

应该可以让您开始。这属于表示层,而不是SQL Server。
CREATE TABLE TESTDATES (DATEID INT IDENTITY(1,1), DATEVALUE int)

insert into TESTDATES(DATEVALUE) values(NULL);
insert into TESTDATES(DATEVALUE) values(20140614);


SELECT CONVERT(date, CAST(DATEVALUE AS NVARCHAR), 112) FROM TESTDATES WHERE DATEVALUE is not null