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

Likeを使用したSQLのCaseステートメント

    1つは、SQLをこれに更新して、JOINを使用していることです。 SELECTで これをWHEREに配置する代わりにステートメント 句。

    INSERT INTO Foundation.TaxLiability.EmpowerSystemCalendarCode
    
    SELECT SystemTax.SystemTaxID,
           EmpowerCalendarCode.CalendarCodeID
          ,CASE WHEN  EmpowerCalendarCode.CalendarName LIKE '%Monthly%' THEN 3
                WHEN  EmpowerCalendarCode.CalendarName LIKE '%Annual%' THEN 2
                WHEN  EmpowerCalendarCode.CalendarName LIKE '%Quarterly%' THEN 4
           ELSE 0
           END
    FROM Foundation.Common.SystemTax SystemTax
    INNER JOIN Foundation.TaxLiability.EmpowerCalendarCode EmpowerCalendarCode
        ON SystemTax.EmpowerTaxCode = EmpowerCalendarCode.LongAgencyCode 
        AND SystemTax.EmpowerTaxType = EmpowerCalendarCode.EmpowerTaxType
    

    2つ目は、INSERT INTOを削除するとどうなるかです。 ?



    1. Postgresqlはnullをゼロに変えます

    2. ID列に基づいて行を列に転置します

    3. ('SQLには0個のパラメーター・マーカーが含まれていますが、50個のパラメーターが指定されました'、'HY000')またはTypeError:'tuple'オブジェクトは呼び出し可能ではありません

    4. OracleでUnixタイムスタンプを日付値に変換する