2010-03-24 3 views
20

partie d'une requête complexe que notre application est en cours d'exécution contient les lignes: ... (requête intérieure)DB2: n'autorise pas la colonne "NULL"?

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

Cette syntaxe de créer des colonnes avec valeurs nulles est pas autorisée dans DB2 barbante il est totalement OK dans MSSQL et Oracle DB. Techniquement je peux changer pour:

'' as column_A, 
'' as column_B, 

Mais cela n'a pas exactement le même sens et peut endommager nos résultats de calcul. Comment puis-je créer des colonnes avec des valeurs nulles dans DB2 en utilisant une autre syntaxe?

Répondre

40

DB2 est fortement typé, vous devez donc dire DB2 quel type de colonne NULL est votre:

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

Cela fonctionne dans SQL Server ainsi. Dans SQL Server, l'utilisation de null sans la distribution vous donne un champ int. – HLGEM

+0

cela fonctionne - merci! – GyRo

Questions connexes