【问题标题】:extract month function not working in postgres提取月份功能在postgres中不起作用
【发布时间】:2021-01-13 18:18:28
【问题描述】:

我有表格测试,想从字段月份中提取月份,它是字符变化的。

不同月份字段值为'August-2020','September-2020'

我试过SELECT extract(Month from to_date(t.month, '%Month-%YYYY')) as test FROM test as t 但得到错误 “MONTH”的值“ugust-2020”无效 详细信息:给定值与该字段的任何允许值都不匹配。

我在一台服务器中有两台服务器在提取 (8,8,9,9) 时工作​​正常,但在另一台服务器中出现错误。

【问题讨论】:

    标签: php sql laravel postgresql


    【解决方案1】:

    您的格式掩码错误,您应该使用:

    Month-YYYY
    

    示例查询:

    SELECT EXTRACT(month FROM TO_DATE(t.month, 'Month-YYYY')) AS month
    FROM test t;
    

    【讨论】:

    • 你知道为什么在 postgres12 而不是早期版本中同样有效吗?
    • 是的,我试过了,它正在工作dbfiddle.uk/…。
    • 需要postgres11
    • 以上内容适用于任何支持TO_DATE的Postgres版本。
    • @Sujitmohanty30 我认为这是由于“调整 to_timestamp()/to_date() 函数以更宽容模板不匹配”postgresql.org/docs/12/release-12.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多