将日期转换为整数(1 到 365)
Converting date into integer (1 to 365)
我不知道 postgres 中是否有函数可以做到这一点,但是如何将日期 (yyyy-mm-dd) 转换为 SQL 中的数字对应者?
例如table输入
id | date
------+-------------
1 | 2013-01-01
2 | 2013-01-02
3 | 2013-02-01
输出
id | date
------+-------------
1 | 1
2 | 2
3 | 32
您正在寻找具有 doy
("Day Of [的 extract()
函数 Year") 参数,而不是 day
("day of the week"):
select id, extract(doy from "date")
from the_table;
根据 this documentation 和其他选项是做这样的事情:
SELECT id, DATE_PART('day', date - date_trunc('year', date)) + 1 as date
from table_name;
Here 你可以看到一个 sql-fiddle.
我不知道 postgres 中是否有函数可以做到这一点,但是如何将日期 (yyyy-mm-dd) 转换为 SQL 中的数字对应者?
例如table输入
id | date
------+-------------
1 | 2013-01-01
2 | 2013-01-02
3 | 2013-02-01
输出
id | date
------+-------------
1 | 1
2 | 2
3 | 32
您正在寻找具有 doy
("Day Of [的 extract()
函数 Year") 参数,而不是 day
("day of the week"):
select id, extract(doy from "date")
from the_table;
根据 this documentation 和其他选项是做这样的事情:
SELECT id, DATE_PART('day', date - date_trunc('year', date)) + 1 as date
from table_name;
Here 你可以看到一个 sql-fiddle.