1

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

4

1 回答 1

1

这有效:

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

有更好的建议吗?

于 2012-03-01T22:09:17.680 回答