PostgreSQL能否按顺序使用FOR循环?
我可以这样做SQL语句吗PostgreSQL能否按顺序使用FOR循环?,sql,arrays,postgresql,for-loop,sql-order-by,Sql,Arrays,Postgresql,For Loop,Sql Order By,我可以这样做SQL语句吗 SELECT ARRAY[array] FROM table1 ORDER BY FOR i in array_length(array,1) LOOP array[i]::numeric END LOOP; 我想要的结果是: SELECT ARRAY[array] FROM table1 ORDER BY array[
SELECT
ARRAY[array]
FROM table1
ORDER BY
FOR i in array_length(array,1) LOOP
array[i]::numeric
END LOOP;
我想要的结果是:
SELECT
ARRAY[array]
FROM table1
ORDER BY array[1]::numeric, array[2]::numeric, ...
我可以吗?:) 否,SQL中没有
循环。不过,它是PL/pgSQL等过程语言的一个元素。见:
但是有一种更简单的方法:
SELECT ...
FROM table1
ORDER BY array_column::numeric[];
数组值按元素值从左到右进行排序
要求:
列数组\u列
必须是具有已注册转换为数值
的元素类型的数组。例如text
或varchar
或其他一些。
否则,您可以使用text[]
作为垫脚石:array\u column::text[]:numeric[]
每个元素都可以投影为合法的数值值
否,SQL中没有循环。不过,它是PL/pgSQL等过程语言的一个元素。见:
但是有一种更简单的方法:
SELECT ...
FROM table1
ORDER BY array_column::numeric[];
数组值按元素值从左到右进行排序
要求:
列数组\u列
必须是具有已注册转换为数值
的元素类型的数组。例如text
或varchar
或其他一些。
否则,您可以使用text[]
作为垫脚石:array\u column::text[]:numeric[]
每个元素都可以投影为合法的数值值
哦很抱歉,我不能,但谢谢你哦很抱歉,我不能,但谢谢你