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

SQLのSimpleIfElseステートメント

    ExcelのIF(condition, true_response, false_response)を使用しようとしているように見えます 構文。 T-SQLで同等のものは、CASE WHEN THEN ELSE ENDです。 構文:

    SELECT 
        CASE 
            WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY ='USD' THEN 1 
            WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY='EUR' THEN 1
            ELSE 0
        END 
    FROM 
        CONTRACTS_IN_DIFFERENT_CURRENCIES
    

    これは、提供している例よりも複雑なクエリで機能します。同じフィールドに同じ応答を返す可能性のある値がいくつかある場合、それを行う別の方法は

    です。
    SELECT 
        CASE 
            WHEN CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') THEN 1
            ELSE 0
        END 
    FROM 
        CONTRACTS_IN_DIFFERENT_CURRENCIES
    

    ただし、これは特定の通貨の行だけを取得するために使用する正しい構文ではありません。

    による前の回答
    SELECT *     
    FROM 
        CONTRACTS_IN_DIFFERENT_CURRENCIES
    WHERE 
        CONTRACTS_IN_DIFFERENT_CURRENCIES.CURRENCY IN ('USD','EUR') 
    

    そのために最適です。



    1. OracleでのBase64エンコーディングとデコーディング

    2. SequelProを使用してデータベースに接続する方法

    3. データベースバックアップスクリプトがPHPで機能しないのはなぜですか?

    4. R12.2環境のクローンを作成する方法