1

私は個人的なプロジェクトのために疑似 ORM を行っており、そこにある 20 以上の異なる SQL 方言の互換性チェックのリストをコンパイルしています。

現在、方言がNULLS LASTフラグをサポートしているかどうか、つまりテーブルをソートするときに null の1, 2, 3, 4, null代わりに のように最後の項目として出てくるかどうかを調査していますnull, 1, 2, 3, 4

DashDB/MySQL/MSSQL などの言語の結果があります (はい - 提供していますNULL LAST)。ただし、次の方言では null-last-ability を見つけることができませんでした:

  1. でんどう

  2. MemSQL

  3. スパーク

  4. ベクトルワイズ

  5. XtremeData

答えは単純な「はい」または「いいえ」で十分ですが、操作の実行方法に関するクエリも書き留めていただければNULL LAST、それも素晴らしいことです。

4

1 に答える 1

2

MemSQL を確認しましたが、NULLS LAST構文がサポートされていません。つまり、次のようなことを行うことでこれを達成できます。

SELECT * FROM foo ORDER BY IFNULL(bar, MAGIC_VALUE) ASC

MAGIC_VALUE を変更して、列のデータに応じて最後/最初に並べ替えるようにします。パフォーマンス ヒットに問題がない場合は、null でない場合は値が常に上位にソートされるプレフィックスで始まり、null の場合は値がプレフィックスより下位にソートされるように、値を変更できます。

同じことを使用して NULL FIRST を実装できます。

于 2016-08-23T23:01:09.327 に答える