2010-03-24 20 views
20

Parte de una consulta compleja que nuestra aplicación se está ejecutando contiene las líneas: ... (consulta interna)DB2: ¿No permitirá la columna "NULL"?

SELECT 
... 
NULL as column_A, 
NULL as column_B, 
... 
FROM 
... 

Esta sintaxis de crear columnas con nulos valores no está permitido en DB2 Altough es totalmente Aceptar en MSSQL y Oracle DBs. Técnicamente puede cambiarlo a:

'' as column_A, 
'' as column_B, 

Pero esto no tiene exactamente el mismo significado y puede dañar nuestros resultados del cálculo. ¿Cómo puedo crear columnas con valores nulos en DB2 utilizando otra sintaxis?

Respuesta

40

DB2 es fuertemente tipado, por lo que deberá indicar a DB2 qué tipo de columna es NULL su:

select 
    ... 
    cast(NULL as int) as column_A, 
    cast(NULL as varchar(128)) as column_B, 
    ... 
FROM 
    ... 
+1

Esto funciona en SQL Server también. En SQL Server solo usar null sin el molde le da un campo int. – HLGEM

+0

funciona - ¡gracias! – GyRo

Cuestiones relacionadas