Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ORACLE SQL CAST IN CASE语句_Sql_Oracle_Casting_Integer_Case - Fatal编程技术网

ORACLE SQL CAST IN CASE语句

ORACLE SQL CAST IN CASE语句,sql,oracle,casting,integer,case,Sql,Oracle,Casting,Integer,Case,有没有办法在CASE语句中强制转换为整数 CASE WHEN SV.END_DATE IS NOT NULL THEN SV.END_DATE - SV.START_DATE ELSE 0 END AS DAYDIFF 是的,您可以将值转换为无小数部分的数字数据类型: CASE WHEN SV.END_DATE IS NOT NULL THEN CAST(SV.END_DATE - SV.START_DATE AS NUMBER(38)) ELSE 0 END AS DA

有没有办法在CASE语句中强制转换为整数

CASE 
WHEN SV.END_DATE IS NOT NULL THEN SV.END_DATE - SV.START_DATE 
ELSE 0
END AS DAYDIFF
是的,您可以将值转换为无小数部分的数字数据类型:

CASE 
  WHEN SV.END_DATE IS NOT NULL THEN
    CAST(SV.END_DATE - SV.START_DATE AS NUMBER(38))
  ELSE 0
END AS DAYDIFF
或者您也可以,这也会去除值的小数部分:

CASE 
  WHEN SV.END_DATE IS NOT NULL THEN
    TRUNC(SV.END_DATE - SV.START_DATE)
  ELSE 0
END AS DAYDIFF

您想做什么-取整或截断
结束日期
开始日期
之间的差异?获取他们之间的完整天数?还是别的什么?样本数据和预期结果也可能让事情变得更清楚。非常感谢您,感谢您的支持。