如何在Sequel中使用SQL数组切片进行排序?

时间:2012-03-01 19:26:54

标签: sequel

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]切片。什么是正确的语法?

1 个答案:

答案 0 :(得分:1)

这有效:

DB[:nodes].select(:a, :depth, :name).order('a[0:depth]'.lit, :name)

有更好的建议吗?