DATEDIFF
📄字数 615
👁️阅读量 加载中...
功能描述
返回 expr1
和 expr2
日期之间相差的天数。仅计算日期部分的差值。
语法格式
sql
DATEDIFF(expr1, expr2)
输入参数
expr1
:DATE
或DATETIME WITH TIME ZONE
类型,或能隐式转换为DATE
或DATETIME WITH TIME ZONE
类型的其他类型。expr2
:DATE
或DATETIME WITH TIME ZONE
类型,或能隐式转换为DATE
或DATETIME WITH TIME ZONE
类型的其他类型。
提示
- 因
NULL
无具体的类型,当参数均为NULL
时,会产生异常E10100 候选函数出现多义性
,需要手动为参数指定具体的形参类型,如:DATEDIFF(NULL::DATE, NULL::DATE)
。
输出结果
返回 INTEGER
类型,任意输入参数为 NULL
时,输出结果为 NULL
。
示例
sql
-- 计算'2007-12-31 23:59:59' 和 '2007-12-30' 时间天数的差值
SQL> SELECT DATEDIFF('2007-12-31 23:59:59', '2007-12-30');
+-------+
| EXPR1 |
+-------+
| 1 |
+-------+
-- 计算'2010-11-30 23:59:59 +08:30' 和 '2010-12-31 23:59:59 +05:30' 时间天数的差值
SQL> SELECT DATEDIFF('2010-11-30 23:59:59 +08:30', '2010-12-31 23:59:59 +05:30');
+-------+
| EXPR1 |
+-------+
| -31 |
+-------+
-- 计算'2010-12-31' 和 '2010-11-30 23:59:59' 时间天数的差值
SQL> SELECT DATEDIFF('2010-12-31', '2010-11-30 23:59:59');
+-------+
| EXPR1 |
+-------+
| 31 |
+-------+