Sto cercando un modo per creare istruzioni caso in una query di selezione sql utilizzando meno di e maggiore di segni. Ad esempio, voglio selezionare una classifica sulla base di una variabile:Utilizzare segni di confronto all'interno di una dichiarazione di caso sql
DECLARE @a INT
SET @a = 0
SELECT CASE
WHEN @a < 3 THEN 0
WHEN @a = 3 THEN 1
WHEN @a > 3 THEN 2
END
mi piacerebbe scrivere come:
DECLARE @a INT
SET @a = 0
SELECT CASE @a
WHEN < 3 THEN 0
WHEN 3 THEN 1
WHEN > 3 THEN 2
END
... ma SQL non mi ha lasciato usare il < e> firma in questo modo. C'è un modo che posso fare questo è SQL 2005, o devo usare il codice come nel primo.
Il motivo per cui desideravo solo il codice una volta è perché renderebbe il codice molto più leggibile/manutenibile e anche perché non sono sicuro che SQL Server dovrà eseguire il calcolo per ciascuna istruzione CASE.
Sto cercando un VB.NET istruzione case equivelent:
Select Case i
Case Is < 100
p = 1
Case Is >= 100
p = 2
End Select
Forse non è possibile in SQL e che è ok, voglio solo confermare che.
Il 'CASE' funziona come CASE o SWITCH più altri linguaggi di programmazione. Non vedo il punto del tuo bisogno. –
Scusa, la fine della mia domanda è stata interrotta. Fammi sapere se continui a non capire cosa sto cercando di raggiungere – Greg
L'espressione CASE causerà un cortocircuito e valuterà i casi solo fino a quando uno dei due è vero. Non penso ci sia alcun vantaggio per un altro approccio. –