2016-11-08 2 views
0

Я понятия не имею, есть ли функция postgres для этого, но как я могу преобразовать дату (yyyy-mm-dd) в числовой корреспондент в SQL?Преобразование даты в целое число (от 1 до 365)

E.g. входной таблицы

id | date 
------+------------- 
1  | 2013-01-01  
2  | 2013-01-02   
3  | 2013-02-01  

Выход

id | date 
------+------------- 
1  | 1  
2  | 2   
3  | 32 
+0

Возможно, вы захотите это проверить http://stackoverflow.com/help/how-to-ask – mike510a

ответ

4

Вы ищете extract() функции с doyD ау O ф Y уха ") аргумента, а не day (" день от недели "):

select id, extract(doy from "date") 
from the_table; 
0

Acording к this documentation Иным вариантом является, чтобы сделать что-то вроде:

SELECT id, DATE_PART('day', date - date_trunc('year', date)) + 1 as date 
from table_name; 

Here вы можете увидеть SQL-скрипку.

Смежные вопросы