Plaatsen van een 0 in plaats van NULL (lege velden)

Status
Niet open voor verdere reacties.

Arnie1969

Nieuwe gebruiker
Lid geworden
22 dec 2009
Berichten
4
Hallo,

ik heb twee tabellen tabel 1 en tabel 2, deze moeten worden samengevoegd. De moeilijkheid zit hem in het feit dat tabel 2 een verrijkingsbestand is.
Het bestand wordt rij voor rij opgebouwd. Door een left outerjoin koppeling, ontstaan er NULL values. De NULL values wil ik vervangen door een 0.
Hoe krijg ik dit voor elkaar?
 
Je kunt een IF gebruiken en checken op NULL, misschien?

[sql]
SELECT IF ( ISNULL( veld ), 0, veld )
FROM sometable
[/sql]
 
Kan de select dan ook voor meerdere kolommen tegelijk gedaan worden?
 
Ja als je een IF om elk veld heen zet:

[sql]
SELECT IF ( ISNULL( veld ), 0, veld ) as optie1, IF ( ISNULL( ander_veld ), 0, ander_veld ) as optie2
FROM sometable
[/sql]

etc.
 
Ietsjes korter is gebruikmaken van de functie IFNULL in MySQL (vergelijkbaar met NVL() is Oracle).

[SQL]SELECT IFNULL(veld,0) AS optie1, IFNULL( ander_veld,0) AS optie2
FROM sometable[/SQL]

Maar nog steeds moet je inderdaad dit voor elke kolom definieren. Eerlijk gezegd vraag ik me wel een beetje af waarom je (terechte) NULL-waarden wil omzetten in 0.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan