エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
OracleとPHPのソートで NULLの位置が違うから困ったという話 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
OracleとPHPのソートで NULLの位置が違うから困ったという話 - Qiita
動的SQL禁止令が敷かれている職場では、 SQLで全件取得 (静的で書ける範囲の絞り込み条件は書かれている... 動的SQL禁止令が敷かれている職場では、 SQLで全件取得 (静的で書ける範囲の絞り込み条件は書かれている) → PHPで絞り込み (職場の自作フレームワークの関数。これのせいでソートが崩れる) → PHPでソートし直す こんな(無駄とバグの潜む)フローが主流になっている。 今回、これで困ったのが、 OracleとPHPのソートでは、nullの位置が違う Oracle SQLで昇順にした場合、ソート順の一番最後に NULL 値が来るが、 PHPの昇順では最初になってしまう。 NULL 値の取り扱い方が違うので仕方ない… OracleでのNULLの扱い NULL≒無限大 NULL のソート ORDER BY NULLS ~ Oracle 8.1.6 以上であれば、NULL の並べ替えのために NVL,MIN 関数を使う必要がなくなっている。 NULL はデフォルトの昇順ソートでは最後、降順ソ