如何屏蔽 sql 中的日期格式?
How to mask date format in sql?
有开放日期2015-05-19 10:40:14
和结束日期2015-05-20 09:21:11
当我减去它们时,我得到 (close_date.date_value - open_date.date_value)
一些 9.45104166666666666666666666666666666667E-01
值
我想忽略 2 个日期的时间 10:40:14 和 09:21:11
同样,我减去 (SYSDATE - open_date.date_value) 并在我减去 2 个日期时得到天数
谁能帮我解决这个问题
case
when s then
(close_date.date_value - open_date.date_value)
else
(SYSDATE - open_date.date_value)
end as "dd",
试试这个
case
when status_name.list_value_id=9137981352013344123 then
(TRUNC(close_date.date_value) - TRUNC(open_date.date_value))
else
(TRUNC(sysdate) - TRUNC(open_date.date_value))
end as "e2e execution time",
您可以使用 DATEDIFF 函数。这是代码
SELECT DATEDIFF(DAY, CONVERT(DATETIME, '2015-05-19 10:40:14'), CONVERT(DATETIME, ' 2015-05-20 09:21:11'))
从性能的角度来看,我不会使用TRUNC,因为它会抑制任何常规index 在日期 列 。我会让日期算术原样,ROUND 值。
例如,
SQL> SELECT SYSDATE - to_date('2015-05-20 09:21:11','YYYY-MM-DD HH24:MI:SS') diff,
2 ROUND(
3 SYSDATE - to_date('2015-05-20 09:21:11','YYYY-MM-DD HH24:MI:SS')
4 ) diff_round
5 FROM dual;
DIFF DIFF_ROUND
---------- ----------
29.1248264 29
SQL>
有开放日期2015-05-19 10:40:14
和结束日期2015-05-20 09:21:11
当我减去它们时,我得到 (close_date.date_value - open_date.date_value)
一些 9.45104166666666666666666666666666666667E-01
值
我想忽略 2 个日期的时间 10:40:14 和 09:21:11 同样,我减去 (SYSDATE - open_date.date_value) 并在我减去 2 个日期时得到天数
谁能帮我解决这个问题
case
when s then
(close_date.date_value - open_date.date_value)
else
(SYSDATE - open_date.date_value)
end as "dd",
试试这个
case
when status_name.list_value_id=9137981352013344123 then
(TRUNC(close_date.date_value) - TRUNC(open_date.date_value))
else
(TRUNC(sysdate) - TRUNC(open_date.date_value))
end as "e2e execution time",
您可以使用 DATEDIFF 函数。这是代码
SELECT DATEDIFF(DAY, CONVERT(DATETIME, '2015-05-19 10:40:14'), CONVERT(DATETIME, ' 2015-05-20 09:21:11'))
从性能的角度来看,我不会使用TRUNC,因为它会抑制任何常规index 在日期 列 。我会让日期算术原样,ROUND 值。
例如,
SQL> SELECT SYSDATE - to_date('2015-05-20 09:21:11','YYYY-MM-DD HH24:MI:SS') diff,
2 ROUND(
3 SYSDATE - to_date('2015-05-20 09:21:11','YYYY-MM-DD HH24:MI:SS')
4 ) diff_round
5 FROM dual;
DIFF DIFF_ROUND
---------- ----------
29.1248264 29
SQL>