1

SQL配列値のスライスで並べ替えるSequelの適切な構文は何ですか?

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 に答える