Output valore non nullo

venerdì 20 gennaio 2012 - 10.24
Tag Elenco Tags  SQL Server 2008

ilario Profilo | Senior Member

ciao
ho una Sp con un parametro in output

e qui tutto bene

vorrei pero che se il valore del parametro è nullo, diventi -1

@nomeparametro int

set @nomeparametro = (select........)

if @nomeparametro = null diventi -1

ciao e grazie

dinoxet Profilo | Senior Member

Ciao non puoi fare un case?


set @nomeparametro = (select........)

case when @nomeparametro is null then -1 else @nomeparametro end


per esempio


DINOXET
__________________________________________
impossible is only a word

lbenaglia Profilo | Guru

>vorrei pero che se il valore del parametro è nullo, diventi
>-1
>
>@nomeparametro int
>
>set @nomeparametro = (select........)
>
>if @nomeparametro = null diventi -1

Ciao,

Puoi semplicemente scrivere:

SELECT @nomeparametro = COALESCE(colonna, -1) FROM...

Sui Books Online troverai i dettagli della funzione COALESCE:
http://msdn.microsoft.com/it-it/library/ms190349.aspx

>ciao e grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

ilario Profilo | Senior Member

avevo provato

SELECT @nomeparametro = COALESCE(colonna, -1)
FROM...

ma mi torna sempre null

ho fatto una

if @nomeparametro is null
begin
set @nomeparametro = -1
end

ma non sono sicuro che sia corretto

alx_81 Profilo | Guru

>if @nomeparametro is null
> begin
> set @nomeparametro = -1
> end
>ma non sono sicuro che sia corretto
secondo l'errore che facevi era scrivere "= NULL" invece che "IS NULL", il secondo metodo è corretto.


--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

lbenaglia Profilo | Guru

>avevo provato
>
>SELECT @nomeparametro = COALESCE(colonna, -1)
>FROM...
>
>ma mi torna sempre null
Questo significa che la query NON restituisce righe.
In questo caso risolvi scrivendo:

SET @nomeparametro = COALESCE(SELECT colonna FROM..., -1);

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

ilario Profilo | Senior Member

grazie mille a tutti
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5