我应该挑选7月(或07年)出生的所有人。这不起作用:

select * from people where date_trunc('month',dob)='07';

错误:时区为“07”的timestamp类型的输入语法无效
第1行:…ct*来自日期为'07'的人;
什么是正确的方法?

最佳答案

select * from people where to_char(dob, 'MM') = '09';

如果出生日期存储在一个名为“dob”的时间戳表列中,则为所有在9月份出生的人。
第二个参数是日期格式模式。应支持所有典型模式。
例如。:
select * from people where to_char(dob, 'MON') = 'SEP';

也会这么做。
查看herePostgres中的时间戳格式模式:

10-05 23:06