我有一个动态的select语句,能够按列索引而不是按名称排序会让我的生活更轻松。
示例:
select id, name, description
from table
order by description
想要像:
select id, name, description
from table
order by colindex(2)
答案 0 :(得分:2)
答案是
select id, name, description
from table
order by 2
有时这是您处理动态SQL时最简单的方法。 但是,如评论中所述,尽量避免使用列索引。我认为他们会删除它,因为它是bug。
答案 1 :(得分:-1)
如果要动态构建SQL,请将列名存储在数组中。这样,您可以使用序数索引构建order-by语句,并在语句中发出列的真实名称。