如何从日期范围类型中提取世纪值作为 postgres 中的字段

How can I extract century value from the daterange type as field in postgres

您好,我想从 postgresql 的日期范围字段中提取 'century' 值。

我的领域是这样的

"[1759-01-01,1759-12-30)"

十八世纪的结果应该是“18”

我知道您可以对个别日期字段执行此操作,例如:

SELECT EXTRACT('century' FROM "event_timestamp") AS "day of week"
FROM "events";

但是,我还没有找到对 daterange 格式做同样的事情。

任何帮助都会很棒

R

这会起作用:

SELECT EXTRACT('century' FROM 
Substring("event_timestamp"::varchar),2,10)::Date) AS "day 
of week"
FROM "events";

但只针对第一次约会,不针对后续的约会。

http://sqlfiddle.com/#!17/69da7/5

他们俩的约会很像:

SELECT EXTRACT('century' FROM Substring("a"::varchar,2,10)::Date) AS "day 
of week",EXTRACT('century' FROM Substring("a"::varchar,13,10)::Date) AS "day 
of week"
FROM Table1;