View Full Version : sql utilizzo "is" o "=" in una condizione
The March
09-04-2004, 11:32
ola a todos, non riuscivo a spiegarmi il risultato di due select completamente identiche con risultati diversi... poi ho capito quale era la differenza...
in una facevo where ag_id is null
e nell'altra where ag_id = null
cosa cambia?
qualcuno me lo puù spiegare?
uso microsoft sql server
edit: vaccata scritta ( e pure quotata... :D )
The March
09-04-2004, 11:44
Originariamente inviato da mailand
il significato è uguale, ma con alcuni db la sintassi viene considerata errata...
in oracle no, in sql server mi sembra nemmeno...
no, non da errore, restituisce un numero si record diversi, perchè?
The March
09-04-2004, 11:49
la differenza è che se metto where ag_id is null prende tutti i campi dove ag_ig è nullo, mentre se metto l'uguale non prende niente....
mah
perchè ho scritto una stronzata... :D
"IS NULL" è una funzione...
The March
09-04-2004, 11:55
Originariamente inviato da mailand
perchè ho scritto una stronzata... :D
"IS NULL" è una funzione...
no....
isNull(x,y) è una funzione, in x ci va il campo da testare e in y il valore da restituire in caso x sia nullo....
io intendo nella condizione...
where ag_id is null
is null non è una funzione.... o forse si?http://march.altervista.org/Emotions/21.gif
credo proprio di si...
il mio collega (+ esperto di me spero, sennò ho cannato un'anagrafica da 850.000 record) dice che è una funzione...
where ... is null è una condizione, "is null" è una funzione
The March
09-04-2004, 12:05
Originariamente inviato da mailand
credo proprio di si...
il mio collega (+ esperto di me spero, sennò ho cannato un'anagrafica da 850.000 record) dice che è una funzione...
where ... is null è una condizione, "is null" è una funzione
quindi per controllare se un campo è nullo non bisogna usare = ma bisogna usare is null....
cioè is null è una funzione che noi usiamo tranquillamente nelle condiizioni?
esatto...
almeno stando a quello che mi dice la regia... :)
The March
09-04-2004, 12:56
Originariamente inviato da mailand
esatto...
almeno stando a quello che mi dice la regia... :)
allora puoi chiedere alla regia cosa succede se faccio where ag_id = null a me sembra che non prende niente
non dovrebbe fare nulla.. o ti da errore oppure controlla,se e' un varchar, se s'e scritto NULL
cmq per la gestione del null usa is null, is not null
The March
09-04-2004, 13:05
Originariamente inviato da Max 555
non dovrebbe fare nulla.. o ti da errore oppure controlla,se e' un varchar, se s'e scritto NULL
cmq per la gestione del null usa is null, is not null
cioè scrivere where ag_id=null
è come chiedere di prendere quando in ag_id c'è scritto 'null'?
comunque ora che lo so uso is null e is not null (lo sapevo anche prima ma nel marasma generale mettevo = ovunque)
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.