2014-09-05 10 views
-1

У меня есть это значение выборки "12/01/2013", которое является строкой.Как преобразовать дату в другой формат в SQL?

Как преобразовать его непосредственно в инструкцию SQL? Формат должен быть в INT, как это: 20131201

Так от "12/01/2013" до 20131201.

+2

который базы данных? База данных – Vland

+0

- Postgre – Ryan

ответ

0

это работает с SQL Server

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) 
Смежные вопросы