【发布时间】:2012-09-06 12:27:50
【问题描述】:
我有一个存储层次关系的表。它们存储为像 1.1、1.1.1、1.1.2、1.2 这样的字符串......因此,当我需要按层次顺序对它们进行排序时,我需要调用我自己的排序函数.不是吗?但是我认为编写自己的有效算法(n * ln(n))太长了。我想使用仅比较两个值并将其与ORDER BY语句一起使用的小函数。我可以这样做吗?还有其他方法可以实现这一目标吗?谢谢。
【问题讨论】:
-
你可以用零将单个值填充到固定长度,例如
0001.0001.0002? -
如果每个级别的长度相同,则以正确的顺序排列文本。
-
是的,这是一个很好的解决方案。请作为答案。
标签: sql-server sorting