小编Nic*_*dys的帖子

ORACLE 数据库如何将 DATE 隐式转换为 NUMBER?

我试图理解这个函数:

NVL2( NULL, ( SYSDATE - SYSDATE ), DATE '2020-05-24' ))
Run Code Online (Sandbox Code Playgroud)

以及它的返回值:

NVL2(NULL,(SYSDATE-SYSDATE),DATE '2020-05-24'))

2458994
Run Code Online (Sandbox Code Playgroud)

我无法理解那个数字 ,2458994来自哪里,就像SYSDATE-SYSDATEa 一样NUMBER,你不能隐式地将 a 转换DATE为 a NUMBER

TO_NUMBER(DATE '2020-05-24')
ORA-01722: invalid number
Run Code Online (Sandbox Code Playgroud)

ORACLE SQL语言参考NVL2状态:

如果 expr2 是数字数据,则 Oracle 数据库确定哪个参数具有最高的数字优先级,将另一个参数隐式转换为该数据类型,并返回该数据类型。

所以我的问题是,ORACLE SQL 在DATE数据类型上使用什么形式的转换来使其成为NUMBER数据类型?

sql oracle

4
推荐指数
1
解决办法
140
查看次数

标签 统计

oracle ×1

sql ×1