繁体   English   中英

如何从 postgres 中的 jsonb 数组获取星期几?

[英]How to get days of the week from jsonb array in postgres?

我有一列包含日期时间字符串的 jsonb 数组。 我想找到一周中特定一天(比如星期二)的行。

create table my_table(id serial primary key, jsonb_col jsonb);
insert into my_table (jsonb_col) values
('["2022-10-05T18:00:00", "2022-10-07T18:00:00", "2022-11-05T18:00:00"]'),
('["2022-10-05T18:00:00",  "2023-10-05T18:00:00"]');

这是带有此示例的小提琴https://dbfiddle.uk/xtAVIfsn

PS为了这个问题让我们忽略TZ

会是这样的

select /*Number of day starting in 1*/
extract(isodow from jsonb_array_elements(jsonb_col)::varchar::date) 
from my_table mt;

select /*Name of day in plain text */
to_char(jsonb_array_elements(jsonb_col)::text::date, 'Day') 
from my_table mt;

小提琴https://dbfiddle.uk/AhTCEZRG

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM