2016-08-23 16 views
1

私は個人的なプロジェクトの疑似ORMを実行していますが、20種類以上のSQLダイアレクトの互換性チェックのリストをコンパイルしています。Denodo、MemSQL、Spark、VectorWise、XtremeDataのNULLS LASTフラグ

現在、ダイヤルがNULLS LASTフラグをサポートしているかどうか、つまりテーブルを並べ替えるときに、null, 1, 2, 3, 4の代わりに1, 2, 3, 4, nullのように最後の項目としてヌルを出すかどうかについての研究を行っています。

  1. Denodo: -

    私はDashDB/MySQLの/ MSSQLのような言語のための結果などを持っているが(はい、彼らはNULL LASTを提供します)、以下の方言を、私はnullで最後能力を見つけることができませんでした

  2. MemSQL

  3. スパーク

  4. VectorWise

  5. このXtremeDataは

簡単な「はい」または「いいえ」あなたもダウンNULL LAST操作を実行する方法についてのクエリを記述することができれば、しかし、あなたの答えで十分でしょう、それは素晴らしいことですあまりにも!

答えて

2

MemSQLとafaikで確認したところ、NULLS LASTの構文はサポートされていません。それが最初の列のデータに応じて/最後をソートして

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

変更MAGIC_VALUE:それは言った、あなたはこのような何かをすることによってこれを達成することができます。もしあなたがperfヒットで大丈夫ならば、値がnullでないならば、値が常に高位の接頭辞で始まり、それがヌルならば値が接頭辞よりも低くソートされるように値を変更することができます。

NULL FIRSTを実装するのと同じことが使用できます。

+0

ありがとうございました!あなたはそれが働くことができるかどうか、他の4つの方言を知っていますか? – theGreenCabbage

+0

スパークのために働かなければならない、他のものについて知らない。 –