PDA

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

mailand
09-04-2004, 11:41
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

mailand
09-04-2004, 11:50
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

mailand
09-04-2004, 12:02
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?

mailand
09-04-2004, 12:47
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

Max 555
09-04-2004, 13:02
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)

mailand
09-04-2004, 13:32
si, qualcosa di simile