Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използвайте set в оператор case в SQL Server

Не можете да използвате case като контрол на потока. SQL case е израз, който връща скаларна стойност въз основа на условие(я).
Той е добре документиран в забележки раздел:

Един работещ код би бил написан така:

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 

Забележка:Използвам синтаксиса на израза Simple CASE за краткост.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TODATETIMEOFFSET() Примери в SQL Server

  2. MSSQL Редовен израз

  3. Групирайте подобни обекти в различни периоди от време, за да получите минимални и максимални дати в SQL Server

  4. Visual Studio 2010 и Sql Server

  5. Не може да се съкрати таблицата, защото се препраща от ограничение FOREIGN KEY?