在Postgresql中获取一周中的几天

Ree*_*ena 19 sql postgresql

一直试图找出一个选择查询来显示星期几,例如星期一,星期二,星期三等.我最终得到一个显示一周的日期的选择查询,

select ((date_trunc('week',current_date)::date) + (i+6)) as week_date 
  from generate_Series(0,6) i;
Run Code Online (Sandbox Code Playgroud)

有没有办法得到周一,周二等结果.

小智 49

只需使用提取物:

extract(dow from date_column::timestamp)
from whatever_table;
Run Code Online (Sandbox Code Playgroud)

这为星期日返回0,星期一返回1,星期六返回6.

编辑:或者,因为您显然不需要任何实际需要从给定日期抓取星期几的内容而您只需要一个固定字符串值代表一周中几天的名称的列,只需创建一个表...


dan*_*nio 44

在Postgres 9之后,有:

to_char(date, 'dy');

这会将您的日期作为文本值返回到星期几


Eel*_*lke 6

你可以这样做:

VALUES ('Sunday'), ('Monday'), ('Tuesday'), ('Wednesday'), ('Thursday'), ('Friday'), ('Saturday');
Run Code Online (Sandbox Code Playgroud)