Заполняющая строка с нулями в формуле отчета Crystal

У меня есть строка, максимальная длина которой равна 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 ответ

Решение

Ниже приведен пример получения отсортированных данных с помощью 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
             )
Другие вопросы по тегам