在水晶报告公式中用零填充字符串

时间:2013-06-25 08:44:58

标签: string sorting crystal-reports pad

我有一些字符串,其最大长度为4。 但是前导零不存在所以我需要从左边填充相同的字符串。 我很困惑,因为字符串就像:

11A
12B
13
6
6A

有没有办法可以添加前导零然后对它们进行排序,以便列表可以像:

6
6A
11A
12B
13 and so on.

更新 我曾尝试使用右边的填充零并指定长度,如:

Right("00" & TableField,3) as maximum can be three, but that is sorting as

6
13
6A
11A
12B

1 个答案:

答案 0 :(得分:0)

以下是使用SQL查询检索已排序数据的示例。

SELECT
    DATA
FROM 
    (
        SELECT '11A' AS DATA
        UNION ALL
        SELECT '12B'
        UNION ALL
        SELECT '13'
        UNION ALL
        SELECT '6'
        UNION ALL
        SELECT '6A'
    ) AS TestTable
ORDER BY
         LEN((
                CASE WHEN ISNUMERIC(DATA) = 1
                    THEN LEFT(DATA + '0000', LEN(DATA) + 1)
                    ELSE DATA
                END
             )),
             (
                CASE WHEN ISNUMERIC(DATA) = 1
                    THEN LEFT(DATA + '0000', LEN(DATA) + 1)
                    ELSE DATA
                END
             )