oracle中的Dateadd和Datediff函数

周杰伦

我想使用 Oracle 但 DATEDIFF 和 DATEADD 函数在 Oracle DB 中不起作用。

如何在 Oracle 中编写下面提到的代码?

datediff('QUARTER', pr.StartDate, SYSDATE)

datediff('MONTH', pr.StartDate, SYSDATE)
大卫·费伯

在这种情况下最好的做法是使用 Oracle 的MONTHS_BETWEEN()功能。

代替:

datediff('QUARTER', pr.StartDate, SYSDATE)

你会使用:

MONTHS_BETWEEN(pr.startdate, SYSDATE) / 3

而不是:

datediff('MONTH', pr.StartDate, SYSDATE)

你会使用:

MONTHS_BETWEEN(pr.startdate, SYSDATE)

请记住,这MONTHS_BETWEEN()将返回月份的分数,因此请使用TRUNC()orROUND()如果您需要一个整数。

当然,如果您需要几天而不是几个月,您可以简单地从另一个日期中减去一个日期,例如,SYSDATE - pr.startdate反之亦然。

如果您需要为日期添加天数,您可以简单地这样做:

pr.startdate + 1 -- where 1 is the number of days

如果您需要添加或减去月份,请使用该ADD_MONTHS()函数 - 与INTERVALs不同,该函数在闰年可以安全使用。

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Oracle中的DATEDIFF函数

来自分类Dev

datediff和dateadd异常

来自分类Dev

SQL dateadd 和 datediff

来自分类Dev

dateadd、datetime 和 datediff 如何协同工作?

来自分类Dev

CAST(DateColumn AS DATE)和DATEADD(DD,DATEDIFF(DD,0,DateColumn()),0)之间的差异

来自分类Dev

SQL Server中的DateDiff函数问题

来自分类Dev

在 Oracle 中使用 datediff 函数时查询速度慢

来自分类Dev

Redshift错误中不允许使用DATEADD函数

来自分类Dev

一个查询中的多个 DATEADD 函数 - TSQL

来自分类Dev

DATEADD函数导致溢出

来自分类Dev

DATEADD函数的性能问题

来自分类Dev

VBA:使用 DateAdd 函数

来自分类Dev

日期列和当前日期之间的Datediff函数?

来自分类Dev

如何在 SQL 中编写和调用 Oracle 函数

来自分类Dev

根据时间在SQL Server中更改DATEDIFF函数的结果

来自分类Dev

Excel Spreadh工作表中DateDiff的用户定义函数

来自分类Dev

在Oracle中使用datediff

来自分类Dev

DateAdd在控件源中

来自分类Dev

在where子句中使用AVG函数和DATEADD进行嵌套查询

来自分类Dev

案例问题-DateAdd函数VBA

来自分类Dev

调用dateadd函数时出错

来自分类Dev

DATEDIFF结果的汇总函数

来自分类Dev

DateDiff函数错误

来自分类Dev

SQL DATEDIFF 函数

来自分类Dev

Oracle中的ISDATE函数

来自分类Dev

Oracle中的ROWNUMBER函数

来自分类Dev

Sqlite服务器中的DateAdd函数以列名作为输入

来自分类Dev

DateDiff()小时和分钟?

来自分类Dev

DATEDIFF和COUNT