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

異なるデータ型のCaseステートメント

    case ステートメントは1つのデータ型のみを返すことができます。したがって、数値を文字列に変換します。

    SELECT CASE
      WHEN fourthlevel.case_type IN ('Complaint')
      THEN
         (SELECT cast(COUNT(*) as varchar2(255))
            FROM work_days1
           WHERE     work_days1.business_date > fourthlevel.cdate
                 AND work_days1.business_date <=
                        COALESCE (fourthlevel.close_date, SYSDATE))
      WHEN fourthlevel.case_type IN ('Enquiry')
      THEN
         (SELECT cast(COUNT(*) as varchar2(255))
            FROM work_days1
           WHERE     work_days1.business_date > fourthlevel.create_date
                 AND work_days1.business_date <=
                        COALESCE (fourthlevel.close_date, SYSDATE))
      WHEN fourthlevel.case_status = 'Cancelled'
      THEN
         'N/A'
    END AS sla_days
    FROM fourthlevel
    

    または、NULLを返すこともできます 2つの条件が一致しない場合。




    1. 他の列に基づく値と選択からpostgresで列を作成するにはどうすればよいですか?

    2. 2つのテーブルからクエリを実行するときに外部キーを使用する方法

    3. テーブル列の自動インクリメント

    4. OracletkprofファイルのCPU時間と経過時間の違いの原因