一直在试图找出一个选择查询来显示星期几,例如星期一,星期二,星期三等等。我最终得到一个显示一周日期的选择查询,
select ((date_trunc('week',current_date)::date) + (i+6)) as week_date
from generate_Series(0,6) i;
有没有办法将结果作为星期一,星期二等等。
答案 0 :(得分:46)
只需使用extract:
extract(dow from date_column::timestamp)
from whatever_table;
这为星期日返回0,星期一返回1,星期六返回6,
编辑或者,因为您显然不需要任何实际需要从给定日期抓取星期几的内容,而您只需要一个具有固定字符串值的单个列代表名称一周的日子,只需创建一个表......
答案 1 :(得分:44)
在Postgres 9之后,有:
to_char(date, 'dy');
将您的日期作为文本值
返回到星期几答案 2 :(得分:6)
你可以做到:
VALUES ('Sunday'), ('Monday'), ('Tuesday'), ('Wednesday'), ('Thursday'), ('Friday'), ('Saturday');
答案 3 :(得分:2)
以下查询也适用
select to_char((date_trunc('week',current_date)::date) + i,'Day') as wkday from generate_series(0,6) i
答案 4 :(得分:1)
创建您嵌套的单个字段数组
select day_of_week
from unnest(
array
['Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday']
) as day_of_week