No.1ベストアンサー
- 回答日時:
普通に考えたらNVLだと思います。
DECODEは
1.関数の認識
2.値Aの一致性確認
3.置き換え文字の確認B
の3ステップがかかりますが
NVLは
1.関数の確認
2.値Aの一致性確認
だけで済みますから。
NVLよりDECODEがいいのであればNVLは存在意義がなくなります。しかし厳密な速さは違いがあるでしょうか
迷うことは杞憂かと思われます。(ほかのことを悩んだ方が良いでしょう)
あとはコードの可読性ですね。
DECODEよりNVLの方が関数を見ただけで何がしたいのかすぐにわかるので可読性があがります。
よくDECODEを変換表のようにやたらめったら使っているSQLを見ますがあれを見るとプログラマの技術を疑います...
No.2
- 回答日時:
どちらかと言われれば No.1 の方が回答されている通り NVL でしょうが、Oracle 9i で随分と SQL99 標準に対応してきているので、できれば、CASE 文を使われるのがベターだと思います。
CASE 文は不等号も使えるため、DECODE よりもさらにルーチンが複雑であり、遅いと思われますが、処理速度についてはどれも気にしなければならないほどではありません。
内部的には、DECODE、NVL、CASE 以外にも、IN を OR に書き換えたり、OR を UNION ALL に書き換えたりというような複雑な処理が行われることもあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 法学 全部取得条項付株式の取得と引換えにする株式の発行 申請書について 1 2022/12/21 17:32
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- C言語・C++・C# C++言語の16進数の表現についておしえてください 1 2022/11/14 17:46
- ドライブ・ストレージ CrystalDiskmarkの測定結果の判定をお願いします 1 2023/02/11 17:42
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) VBAで、シート間の転記するコードを教えてください。 4 2023/03/26 10:43
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- ビジネスマナー・ビジネス文書 入社手続き書類に関してお伺いしたいのですが、保証人の印鑑登録証明書(実印登録済)で使用したハンコとそ 3 2023/02/21 08:40
- Windows 10 ノートPCの「アップデートナビ」画面について 1 2023/07/04 21:27
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
ORCLEでの小数の表示方法の変更について
その他(データベース)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
ORA-01013のエラーについて経験のある方お願いします。
Oracle
-
-
4
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
5
キャッシュを使わずにSELECTを投げたい
Oracle
-
6
confirm の OK、キャンセル 以外の文字を
JavaScript
-
7
カーソル0件の時にエラーを発生させる
Oracle
-
8
Viewにインデックスは張れますか?
Oracle
-
9
TO_CHARで小数点以下がある場合と無い場合を切り分ける方法
その他(プログラミング・Web制作)
-
10
SQLローダーを使ってExcelのデータをインポートする方法
その他(データベース)
-
11
PL/SQLでログを確認したい。
Oracle
-
12
件数とデータを同時に取得するには?
Oracle
-
13
GROUP BYを行った後に結合したい。
Oracle
-
14
外部結合とor条件混在の記述方法
Oracle
-
15
ROWNUMについて
Oracle
-
16
MAX関数を使ってからLEFT JOINしたいのですが・・
PHP
-
17
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
18
Oracleで「文字が無効です」のエラーが出ます
Oracle
-
19
文字間の空白の削除を教えてください。
PostgreSQL
-
20
他の処理でselectさせないようにしたい。
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データ型でFloatとreal の計算...
-
処理件数を非表示にしたい
-
NVLとDECODEのスピード差
-
カーソル0件の時にエラーを発生...
-
カーソルオープンの処理について
-
Accessで処理経過を表示したい...
-
PL/SQLのエラー処理について
-
ストアドプロシージャ_カーソル...
-
ACCESSで一括処理する方法
-
クエリの実行時間の目安
-
SQL-LOADERの逆のもの
-
カーソル宣言をIFで分けられま...
-
oracle pl/sqlの処理速度について
-
PL/SQL で continue ?
-
カーソルを使って、最終行レコ...
-
わり算の結果が整数でも小数点...
-
SELECT と INSERT の速度
-
動的SQLの処理件数
-
差し込み後、元データを変更し...
-
SELECT 文 GROUP での1件目を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カーソル0件の時にエラーを発生...
-
処理件数を非表示にしたい
-
データ型でFloatとreal の計算...
-
ストアドプロシージャ_カーソル...
-
カーソルを使って、最終行レコ...
-
SQLについて WITH句とサブクエ...
-
カーソル宣言をIFで分けられま...
-
Accessで処理経過を表示したい...
-
ACCESSで一括処理する方法
-
NVLとDECODEのスピード差
-
カーソルオープンの処理について
-
カーソルがコミットするとクロ...
-
動的SQLの処理件数
-
300万件のデータの処理について
-
RDBとVSAMの比較
-
SELECT と INSERT の速度
-
クエリの実行時間の目安
-
SQL-LOADERの逆のもの
-
テーブルの項目が異なるテーブ...
-
(x 行処理されました)を表示さ...
おすすめ情報