Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Utiliser set dans une instruction case dans SQL Server

Vous ne pouvez pas utiliser case comme contrôle de flux. Un case SQL est une expression qui renvoie une valeur scalaire basée sur des conditions.
Elle est bien documentée dans le remarques rubrique :

Un code de travail serait écrit comme ceci :

DECLARE @UNITY VARCHAR(5)
DECLARE @AUX VARCHAR(5)

SET @AUX = 
CASE @UNITY
    WHEN 'U1' THEN 'M1'
    WHEN 'U2' THEN 'M2'
    WHEN 'U3' THEN 'M3'
END 

Notez que j'utilise la syntaxe d'expression Simple CASE par souci de brièveté.