当前位置:   article > 正文

Pgsql实现SQLServer的datediff函数_pgsql datediff

pgsql datediff

SqlSever的datediff函数,在Pgsql可能往往想到用date_part来实现,但这是有差异的,如:

SQLServer:select datediff(d,'2020-02-24 20:59:00','2020-02-25 20:00:00')执行结果为1,因为24与25相差1。

而Pgsql :select date_part('day','2020-02-25 20:00:00'::TIMESTAMP-'2020-02-24 20:59:00') 执行结果为0,因为两天相减之后不足1天。

计算相差年月日时都是同理,SQLServer以新的一年,一天为分界,Pgsql以相差时间为标准。针对计算不同的差应该有不同的方法,可以建一个datediff函数来实现以不同的情况,思路已在代码标注。

  1. create or replace function datediff
  2. (
  3. _datepart varchar(5),
  4. _startdate timestamp,
  5. _enddate timestamp
  6. )
  7. returns int
  8. as $body$
  9. /***********************************************************************************************
  10. author: crf
  11. time:2020-07-6
  12. select datediff('ww','2021-07-4 21:00:01.222','2021-07-11 21:00:01.676')
  13. pgsql实现mssql的datediff函数
  14. ********************************************************************************
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/739697
推荐阅读
相关标签
  

闽ICP备14008679号