Sql

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は与えられていません、ヌル。)