2013-06-25 5 views
1

У меня есть строка, длина которой не должна превышать 4. Но ведущих нулей нет, поэтому мне нужно проложить то же самое в строке слева. Я смущен, как строки, как:Проводная строка с нулями в формуле отчета о кристалле

11A 
12B 
13 
6 
6A 

Есть ли способ, с помощью которого я могу добавить ведущие нули, а затем отсортировать их, так что список может быть как:

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

Update : Я попытался с помощью отступов нулей справа и указать длину, как:

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

6 
13 
6A 
11A 
12B 
+0

Какую базу данных вы используете. Являются ли ваши данные всегда формы NUMBER, NUMBER/LETTER или могут быть чем-то другим, скажем, NUMBER/LETTER/NUMBER. –

+0

Это комбинация иногда только числа, другого временного номера + алфавита, как я показал. –

ответ

0

Ниже приводится экс mple для извлечения отсортированных данных с помощью SQL Query.

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 
      ) 
+0

У меня такая же проблема, как я упоминал в своем обновлении. –

+0

Вы пробовали опубликованный код так, как есть? Причина на SQL Server дает желаемый результат. –

Смежные вопросы