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

10進数の年を日付に変換する

    特定の年の日数に従って小数部が計算されたという仮定から始める場合 (つまり、うるう年かどうかに応じて365または366)、次のようなことができます:

    with
     q1 as (select 2003.024658 d from dual)
    ,q2 as (select d
                  ,mod(d,1) as decimal_portion
                  ,to_date(to_char(d,'0000')||'0101','YYYYMMDD')
                   as jan01
            from q1)
    ,q3 as (select q2.*
                  ,add_months(jan01,12)-jan01 as days_in_year
            from q2)
    select d
          ,decimal_portion * days_in_year as days
          ,jan01 + (decimal_portion * days_in_year) as result
    from   q3;
    
    d: 2003.024658
    days: 9.00017
    result: 10-JAN-2003 12:00am
    



    1. Postgresロケールエラー

    2. postgresqlでクエリを停止/強制終了する方法は?

    3. 結合されたテーブルのフィルタリング

    4. 基本的なテーブル作成fpdf