SQL数字转换为与datetime相关的查询

时间:2014-04-10 13:32:30

标签: sql sql-server sql-server-2008

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

ID     Date
1     20130914
2     20130609
3     Null
4     20140614
5     Null 

你能帮我查询一下我可以显示结果的查询吗? 以下

14-Sep-2013

请帮忙

4 个答案:

答案 0 :(得分:1)

那是format 112

SELECT CONVERT(date, '20130914', 112) --date instead of datetime

答案 1 :(得分:0)

试试这个

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

SELECT REPLACE(CONVERT(varchar(11),datefield,106),' ','-') FROM TableA

您可以参考this article所有可用SQL Server日期格式的列表

答案 2 :(得分:0)

在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

答案 3 :(得分:0)

使用此:

SELECT DATE_FORMAT(您的专栏名称包含日期,'%d-%M-%Y')FROM YOURTABLENAME