sql >> Databáze >  >> RDS >> Sqlserver

Jak používat příkaz case ve skalární funkci v SQL?

Existují dva typy výraz CASE :jednoduché a vyhledávané. Musíte si vybrat jeden nebo druhý – nemůžete použít kombinaci obou typů v jednom výrazu.

Zkuste toto:

SELECT CASE
    WHEN @Period = 1 THEN 1
    WHEN @Period > 1 AND @Period <= 7 THEN 2
    WHEN @Period > 7 AND @Period <= 30 then 3
    -- etc...
    ELSE 0
END

Také musíte výsledek přiřadit k něčemu, jak jiní již poukázali.



  1. přečtěte si nejprve 1 kb blob z oracle

  2. ActiveRecord::StatementInvalid, chyba PG::UndefinedTable, ale vygenerovaný SQL funguje

  3. Použití MySQL Data Reader

  4. Sada problémů 2 – Identifikace entit a atributů