我正在为一个个人项目做一个伪ORM,我正在为20+不同的SQL方言编译一个兼容性检查列表。
目前,我正在研究方言是否支持NULLS LAST标志,即在对表进行排序时,null作为最后一项,如1, 2, 3, 4, null而不是null, 1, 2, 3, 4。
我对诸如DashDB/MySQL/MSSQL等语言(是的--它们提供了NULL LAST)有结果,但是,根据以下方言,我无法找到空的最后一个功能:
一个简单的“是”或“否”就足以满足您的回答,但是,如果您也可以写下如何执行NULL LAST操作的查询,那也太好了!
发布于 2016-08-23 23:01:09
我检查了MemSQL和afaik,不支持NULLS LAST语法。也就是说,您可以通过这样的操作来实现这一点:
SELECT * FROM foo ORDER BY IFNULL(bar, MAGIC_VALUE) ASC更改MAGIC_VALUE,以便根据列中的数据进行最后/第一次排序。如果您可以使用perf命中,则可以对值进行变异,如果值为null,则值总是以排序较高的前缀开头,如果为null,则值排序低于前缀。
同样的事情可以用来首先实现NULL。
https://stackoverflow.com/questions/39111708
复制相似问题