Oracleデータベースのデコード機能
Decode Function Oracle Database
解決:
まず、まずはto_char。
to_char(SYSDATE、 'Day')は、今日の曜日を示します。
to_charを使用すると、日付(この場合は指定してからの今日の日付)を変換できます
sysdate)を特定の形式の文字列に変換します。使用できる日付形式の他の例については、こちらをご覧ください。
http://www.techonthenet.com/oracle/functions/to_char.php
トリムは、先頭と末尾の空白を削除します。
今のためにデコードします。あなたは考えることができます
ifelseステートメントのようにデコードします。を見てみましょう:
http://www.techonthenet.com/oracle/functions/decode.php
あなたの特定の例では、このステートメントを次のように読むことができます。今日が月曜日の場合は3を返し、そうでない場合は1を返します。
デコードを使用すると、次のようにもう少し複雑なことを実行することもできます。
デュアルからdecode(TRIM(to_char(SYSDATE、 'Day'))、 'Monday'、 '3'、 'Tuesday'、5、 '1')を選択しますこれは次のようになります。今日が月曜日の場合は3を返し、今日が火曜日の場合は5を返し、それ以外の場合は1を返します。
それは戻ります3現在月曜日である場合(およびロケールが日が「月曜日」としてレンダリングされるようなものである場合)、およびそれ以外の場合は1。
DECODE(a、b、c、d、e、f、g、...、h)は比較しますからNS、NS、fなどを順番に。もしもaはb、次にDECODEは戻りますNS;もしもaはd、次にDECODEは戻りますe;等々。もしもaはこれらのいずれでもない場合DECODEは戻りますNS。 (NShはオプションです。デフォルトの戻り値(hは与えられていません、ヌル。)