gpt4 book ai didi

postgresql - 如何从 n.n.n.n 格式的 ltree 中选择并在每个级别按数字排序?

转载 作者:行者123 更新时间:2023-11-29 13:10:13 36 4
gpt4 key购买 nike

ltree 列的默认排序为文本。示例:我的表 id、parentid 和 wbs 中有 3 列。 ltree 列 - wbs 将 1.1.12, 1.1.1, 1.1.2 存储在不同的行中。按 wbs 列排序的选择查询返回 1.1.1, 1.1.12, 1.1.2.

我需要它返回 1.1.1, 1.1.2, 1.1.12

最佳答案

如果 ltree 值的所有元素都是整数,您可以将它们转换为可用于排序的整数数组:

with my_table(wbs) as (
values
('1.1.12'::ltree),
('1.1.1'),
('1.1.2')
)

select wbs
from my_table
order by string_to_array(wbs::text, '.')::int[]

wbs
--------
1.1.1
1.1.2
1.1.12
(3 rows)

关于postgresql - 如何从 n.n.n.n 格式的 ltree 中选择并在每个级别按数字排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55878258/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com