postgresql – 类型interval的输入语法无效

postgresql – 类型interval的输入语法无效,第1张

概述我遇到一个问题,我无法在 postgresql中添加间隔到日期.在 MySql中我会这样做: date_add('2015-02-02', interval -46 day) 与postgresql中的相应语句是: '2015-02-02' + -46 * interval '1 day' 但是,当我这样做时,我得到一个错误: [Err] ERROR: invalid input syntax 我遇到一个问题,我无法在 postgresql中添加间隔到日期.在 MySql中我会这样做:
date_add('2015-02-02',interval -46 day)

与postgresql中的相应语句是:

'2015-02-02' + -46 * interval '1 day'

但是,当我这样做时,我得到一个错误:

[Err] ERROR:  invalID input Syntax for type interval: "2015-02-02"

如果我删除语句的-46 * interval’1 day’部分,它将按预期工作.

简化查询:

SELECT    cd.date_sort_prequeue_start AS date,SUM(CASE WHEN cd.call_conclusion='Answered' THEN 1 ELSE 0 END) AS calls_answeredFROM     data_warehouse.call_detail AS cd    INNER JOIN data_warehouse.users_history AS uh ON cd.users_history_ID=uh.IDWHERE     cd.date_sort_prequeue_start>= '2015-02-02' + (-46 * INTERVAL '1 day')     AND cd.date_sort_prequeue_start<'2015-02-02'     AND cd.call_type='I' AND uh.team='TeamOne'GROUP BY     cd.date_sort_prequeue_startORDER BY     cd.date_sort_prequeue_start;
如果将字符串转换为日期,则可以解决问题:
'2015-02-02'::date + -46 * interval '1 day'

字符串本身是不明确的,因为有几种不同的类型来表示时间.

总结

以上是内存溢出为你收集整理的postgresql – 类型interval的输入语法无效全部内容,希望文章能够帮你解决postgresql – 类型interval的输入语法无效所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1181737.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存