複数の列で順序付けされたグレイルでクエリを実行しようとしていますが、これはSQL Serverデータベースに対しては機能していないようです(Oracleに対しては正常に機能します)。
def criteria = DomainObject.createCriteria()
results = criteria.list() {
or {
eq("field", valueA)
eq("field", valueB)
}
order("field", "asc")
order("lastUpdated", "desc")
}
'and'句の中に順序を入れようとしました。
更新:私の問題は、複数の列の順序付けの失敗によるものではなく、順序付け時にOracleとSQLServerによってNULL値が表される方法が原因であるように見えます。「asc」を使用すると、NULLはSQL Serverで最初に発生しますが、Oracleでは最後になります。
返されたgrailsリストで後処理(並べ替え)を行う必要があると思いますが、誰かがもっと良いアイデアを持っていれば幸いです。
どんな助けでも大歓迎です。
ありがとう