sql >> データベース >  >> RDS >> Mysql

MySQL CASE式でOR条件を使用するにはどうすればよいですか?

    CASE ranking
      WHEN 1 THEN 'alpha' 
      WHEN 2 THEN 'beta'  
      WHEN 10 THEN 'charlie' 
      ELSE 'zelta' 
    END CASE;
    

    WHENの式のいずれかを使用できますが、両方を混在させることはできません。

    1)WHEN when_expressionは、単純なCASE形式が使用されている場合にinput_expressionが比較される単純な式です。 when_expressionは任意の有効な式です。 input_expressionと各when_expressionのデータ型は同じであるか、暗黙的な変換である必要があります。

    2)WHENBoolean_expression検索されたCASE形式を使用するときに評価されるブール式です。 Boolean_expressionは、任意の有効なブール式です。

    プログラムできます:

    1)

     CASE ProductLine
             WHEN 'R' THEN 'Road'
             WHEN 'M' THEN 'Mountain'
             WHEN 'T' THEN 'Touring'
             WHEN 'S' THEN 'Other sale items'
             ELSE 'Not for sale'
    

    2)

    CASE 
             WHEN ListPrice =  0 THEN 'Mfg item - not for resale'
             WHEN ListPrice < 50 THEN 'Under $50'
             WHEN ListPrice >= 50 and ListPrice < 250 THEN 'Under $250'
             WHEN ListPrice >= 250 and ListPrice < 1000 THEN 'Under $1000'
             ELSE 'Over $1000'
          END
    

    ただし、いずれの場合も、変数のランク付けがブール式で比較されることが期待できます。

    http://msdn.microsoft.com/en-us/library/ms181765 .aspx



    1. mysqlデータをElasticSearchリアルタイムに移行する方法

    2. Oracle®SQL*Loaderを使用したSQLServerデータの挿入

    3. ストアドプロシージャから複数のテーブルを返す

    4. SQLServerでSelectQueryをすばやく作成する方法-SQLServer/TSQLチュートリアルパート108