Sequel中通过一个SQL数组值排序的正确语法是什么?
这是我想在SQL中做的事情:
SELECT
a, -- column with SQL array values
depth,
name
FROM
nodes
ORDER BY
a[0:depth], name -- sort by 'a' ignoring last element, then by 'name'
在续集中,我可以做到:
DB[:nodes].select(:a, :depth, :name).order(:a, :name)
但是这会根据需要对所有:a
进行排序,而不是[0:depth]
切片。什么是正确的语法?
答案 0 :(得分:1)
这有效:
DB[:nodes].select(:a, :depth, :name).order('a[0:depth]'.lit, :name)
有更好的建议吗?