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

SQL Server 2008 を使用して複数の CASE WHEN 条件を実行するにはどうすればよいですか?

    case 式には 2 つの形式があります . CASE を実行できます WHEN が多い として;

    CASE  WHEN Col1 = 1 OR Col3 = 1  THEN 1 
          WHEN Col1 = 2 THEN 2
          ...
          ELSE 0 END as Qty
      

    または シンプルな CASE

    CASE Col1 WHEN 1 THEN 11 WHEN 2 THEN 21 ELSE 13 END
      

    または CASE 以内 CASE として;

    CASE  WHEN Col1 < 2 THEN  
                        CASE Col2 WHEN 'X' THEN 10 ELSE 11 END
          WHEN Col1 = 2 THEN 2
          ...
          ELSE 0 END as Qty
      

    1. utf8_binとutf_unicode_ci

    2. 多数の行に対するMySQLdbエラーのexecutemany

    3. SQL Serverインスタンスでまだ使用されている廃止された機能を見つける最も簡単な方法(T-SQLの例)

    4. 大きなxmlから抽出すると、文字列リテラルが長すぎてクエリが失敗します