Nulls, strings en logica - De aard van nulls - Null, 0 lege string
9 belangrijke vragen over Nulls, strings en logica - De aard van nulls - Null, 0 lege string
Hoe geef je een lege waarde op bij een rij in een tabel?
insert into Tabel values (1, 'Inge', null, 'Berk', 'DAT');
Hoe noem je het aan elkaar plakken van waarden in een tabel?
Wat is het concateneer statement van sql en hoe gebruik je dat?
select nr,
voornaam || ' ' || voorvoegsel || ' ' || naam
from Student1order by nr;
Het resultaat is echter niet wat we willen:
NR CONCATENATION
========= =============
1 <null>
2 <null>
3 <null>4 Iris van Eik
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden
Wat is het nadeel van concateneren met null? Waarom is dat?
select nr,
voornaam || ' ' || voorvoegsel || ' ' || naam
from Student1
order by nr;
Het resultaat is echter niet wat we willen:
NR CONCATENATION
========= =============
1 <null>
2 <null>
3 <null>
4 Iris van Eik
Alle namen zonder voorvoegsel zijn null geworden. De oorzaak is dat
concatenatie met een null een null geeft:
'Inge' || null null(onbekend!) (onbekend!
Firebird vat de null op als onbekende string. Als we een onbekende string ergesn aan vastplakken is het resultaat onbekend.
Wat is de oplossing voor het probleem van concatneren met null?
select nr,
voornaam || ' ' || coalesce (voorvoegsel || ' ', '') || naam
from Student1
order by nr;
Waarom ging dit wel goed? Omdat in Firebird het vastplakken van eenlege string aan een string weer diezelfde string geeft:
coalesce returned de eerste waarde die niet null is in een lijst.
Hoe staat een lege string in verhouding tot 0 bij optellen?
Hoe zorg je ervoor dat je coalesce niet hoeft te gebruiken bij een tabel met null waarden? Hoe doe je dat aan de applicatiekant?
aan de applicatiekant kan dat niet, dan moet je dus toch aan de DB kant gebruikmaken van coalesce.
Wat is een oplossing voor een niet Codd-relationele tabel om deze wel Codd relationeel te maken?
Hoe definieer je een niet-optionele kolom in Firebird?
De vragen op deze pagina komen uit de samenvatting van het volgende studiemateriaal:
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden