PDA

Bekijk Volledige Versie : Vraagjes over sql select statements



StriKe
08/04/05, 17:15
Hallo,

Ik zou een tweetal selecties via sql moeten schrijven die

1. alle rijen selecteren waar een bepaalde kolom niet is ingevuld

Daarvoor heb ik
select * from tabel where kolom is not null

Dat werkt echter niet :(

2. alle rijen waarvan een kolom begint met bepaalde letter

Daarvoor heb ik
select * from tabel where kolom is like 'X*'

alle rijen waar kolom dus begint met X zouden geselecteerd moeten worden.

--
Groeten,
StriKe

http://www.internetfreakz.be

Maarten Wierda
08/04/05, 17:25
StriKe wrote:

> Hallo,

Hoi,

> 1. alle rijen selecteren waar een bepaalde kolom niet is
> ingevuld
>
> Daarvoor heb ik select * from tabel where kolom is not
> null
>
> Dat werkt echter niet :(

Logisch. Je selecteer nu alle kolommen die *wel* zijn ingevuld.


--
Cheers,
Maarten Wierda

"Shit happens. Then you wipe."

StriKe
08/04/05, 17:45
Maarten Wierda <moart3nAT@chelloDOT.nl> schreef in news:d3676f$21r1$1@nl-
news.euro.net:

> StriKe wrote:
>
>> Hallo,
>
> Hoi,
>
>> 1. alle rijen selecteren waar een bepaalde kolom niet is
>> ingevuld
>>
>> Daarvoor heb ik select * from tabel where kolom is not
>> null
>>
>> Dat werkt echter niet :(
>
> Logisch. Je selecteer nu alle kolommen die *wel* zijn ingevuld.

Brrr, waar zat ik met mijn gedachten :(

Wat ik eigenlijk wil is alle rijen selecteren behalve waar die kolom leeg
is. Eigenlijk dus net het omgekeerd ;)

--
Groeten,
StriKe

http://www.internetfreakz.be

Nico Schuyt
08/04/05, 18:15
StriKe wrote:
> Ik zou een tweetal selecties via sql moeten schrijven die
> 1. alle rijen selecteren waar een bepaalde kolom niet is ingevuld
> Daarvoor heb ik
> select * from tabel where kolom is not null
> Dat werkt echter niet :(

Probeer: select * from tabel where kolom=''

> 2. alle rijen waarvan een kolom begint met bepaalde letter
> Daarvoor heb ik
> select * from tabel where kolom is like 'X*'

Ander jokerteken:
select * from tabel where kolom is like 'X%'


--
Nico
http://www.nicoschuyt.nl

Rene Pijlman
08/04/05, 18:55
Nico Schuyt:
>StriKe:
>> Ik zou een tweetal selecties via sql moeten schrijven die
>> 1. alle rijen selecteren waar een bepaalde kolom niet is ingevuld
>> Daarvoor heb ik
>> select * from tabel where kolom is not null
>> Dat werkt echter niet :(
>
>Probeer: select * from tabel where kolom=''

Dat werkt alleen bij character strings. Bovendien is er de eeuwige
verwarring over het al dan niet gelijk zijn van de lege string aan de NULL
value. Correct is natuurlijk:

select * from tabel where kolom is null

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Nico Schuyt
08/04/05, 19:55
Rene Pijlman wrote:
> Nico Schuyt:
>> StriKe:
>>> Ik zou een tweetal selecties via sql moeten schrijven die
>>> 1. alle rijen selecteren waar een bepaalde kolom niet is ingevuld
>>> Daarvoor heb ik
>>> select * from tabel where kolom is not null
>>> Dat werkt echter niet :(

>> Probeer: select * from tabel where kolom=''

> Dat werkt alleen bij character strings. Bovendien is er de eeuwige
> verwarring over het al dan niet gelijk zijn van de lege string aan de
> NULL value. Correct is natuurlijk:

> select * from tabel where kolom is null

Het vreemde is dat dat bij mij (in een tekstveld) niet werkt. De query
levert geen rijen met lege velden op

--
Nico
http://www.nicoschuyt.nl

Rene Pijlman
08/04/05, 22:55
Nico Schuyt:
>> select * from tabel where kolom is null
>
>Het vreemde is dat dat bij mij (in een tekstveld) niet werkt. De query
>levert geen rijen met lege velden op

Misschien zijn dat velden waar de applicatie de lege string in heeft
opgeslagen (een waarde), in plaats van een NULL value (geen waarde).

--
René Pijlman

Wat wil jij leren? http://www.leren.nl