2014-09-05 106 views
-1

我确实有这个样本值"12/01/2013"这是一个字符串。如何将日期转换为SQL中的不同格式?

如何将其直接转换为SQL语句?格式必须为INT,如下所示:20131201

因此从"12/01/2013"20131201

+2

哪个数据库? – Vland 2014-09-05 07:10:35

+0

数据库是Postgre – Ryan 2014-09-05 07:37:42

回答

0

这一点也适用SQL服务器

SELECT CONVERT(INT, SUBSTRING('12/01/2013',7,4) + 
        SUBSTRING('12/01/2013',0,3) + 
        SUBSTRING('12/01/2013',4,2)) AS dateInt 

结果

20131201 
0

在MySQL测试:

SELECT CAST(CONCAT(SUBSTR("12/01/2013",7,4), SUBSTR("12/01/2013",4,2),SUBSTR("12/01/2013",1,2)) AS UNSIGNED INTEGER); 
-1

可以使用CONVERT和REPLACE函数像下面这样做。

DECLARE @dateValue date 
SET @dateValue = CONVERT(DATETIME,'12/01/2013',102) 
SELECT REPLACE (CONVERT(nvarchar,@dateValue) , '-' , '') 

Rsult将

20131201 
0

在PostgreSQL你有to_date功能,它接受一个日期字符串和格式字符串和返回日期。

,因此您可以:

postgres=# select to_date('12/01/2015', 'mm/dd/yyyy'); 
    to_date 
------------ 
2015-12-01 
(1 row) 

postgres=# select to_date('12012015', 'mmddyyyy'); 
    to_date 
------------ 
2015-12-01 
(1 row)