Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Użyj set w instrukcji case w SQL Server

Nie możesz użyć case jako kontrola przepływu. SQL case to wyrażenie zwracające wartość skalarną na podstawie warunków.
Jest dobrze udokumentowane w uwagi sekcja:

Działający kod byłby napisany tak:

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 

Uwaga:używam składni wyrażenia Simple CASE dla zwięzłości.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 5 korzyści związanych z bezpieczeństwem rozwiązań do monitorowania baz danych opartych na chmurze

  2. Wykorzystanie procesora przez bazę danych?

  3. Aktualizacje ad hoc katalogów systemowych są niedozwolone

  4. Wzorzec regex wewnątrz funkcji SQL Replace?

  5. 32-bitowy program Excel i 64-bitowy serwer SQL