【发布时间】:2021-10-21 18:59:18
【问题描述】:
如果日期列为空,我想使用 Oracle SQL 输入当前日期和时间。
给定表格,
| Login_Time | Logout_Time |
|---|---|
| 2021-08-20 09:57:00 | 2021-08-20 10:30:00 |
| 2021-08-20 10:00:00 | |
| 2021-08-20 08:00:00 |
在 Logout Time 列是 null 然后我必须输入当前时间和日期。
所以我写了下面的查询,
SELECT "login_time",
CASE WHEN "logout_time" IS NULL THEN sysdate ELSE "logout_time" END AS "logout_time"
FROM abc
我无法使用上述查询输入当前时间。谁能帮我解决这个问题
【问题讨论】:
-
请解释一下,“我无法输入当前时间”是什么意思?
sysdate返回date数据类型,其中包含年、月、日、小时、分钟和秒。总是 -
除了去掉包含列名的引号外,当前情况没有问题。此外,别名(
"logout_time")不需要引号。使用NVL2(logout_time,logout_time,sysdate) AS logout_time可能是另一种快捷方式。