DB2:不会允许"NULL"列?

GyR*_*yRo 25 sql db2

我们的应用程序运行的复杂查询的一部分包含以下行:...(内部查询)

SELECT
...
NULL as column_A,
NULL as column_B,
...
FROM
...
Run Code Online (Sandbox Code Playgroud)

在DB2中不允许使用这种创建具有值的列的语法,尽管它在MSSQLOracle DB中完全没问题.从技术上讲,我可以将其更改为:

'' as column_A,
'' as column_B, 
Run Code Online (Sandbox Code Playgroud)

但这并没有完全相同的含义,可能会损害我们的计算结果.如何使用其他语法在DB2中创建具有空值的列?

Ian*_*vde 49

DB2是强类型的,因此您需要告诉DB2您的NULL是什么类型的列:

select 
   ...
   cast(NULL as int) as column_A,
   cast(NULL as varchar(128)) as column_B,
   ...
FROM
   ...
Run Code Online (Sandbox Code Playgroud)