2

入力日から月を抽出したい。私はこれを試しています

select
    case
        when extract(month from :myDate) <= 6 then '1st' 
        when extract(month from :myDate) >= 7 then '2nd'
    end as half_of_the_year
from dual

入力する2-12-12と、次のエラーが表示されます

ORA-30076: invalid extract field for extract source
30076. 00000 -  "invalid extract field for extract source"
*Cause:    The extract source does not contain the specified extract field.
*Action:

なぜこのエラーが発生するのですか?

ありがとう

4

1 に答える 1

3

to_date関数を使用して、バインド変数を日付データ型に明示的に変換してみてください。

select
    case
        when extract(month from to_date(:mydate, 'dd-mm-rr')) <= 6 then '1st'
        when extract(month from to_date(:mydate, 'dd-mm-rr')) >= 7 then '2nd'
    end as half_of_the_year
from dual
于 2012-12-03T12:22:36.077 に答える