2015-12-03 1 views
0

Я не знаю, как описать это так, я буду делать все возможное, здесь ...Прогресс DB литья ряд добавить символ

В избранных:

SELECT "PUB"."EMPLOYEEID" as IdNum from Users 

Works , и он вытаскивает список идентификационных номеров. Тем не менее, мне нужно, чтобы числа имели ведущий 0, если они всего 4 символа.

Так что я написал проверку длины, и это было неудачно. Поэтому я отказался и просто попытался добавить нуль ко всем, чтобы убедиться, что это вызвало проблему, и, конечно же, это было так. Кажется, что столбец типа номер какой-то (я не имею доступа к схеме), поэтому команда

SELECT '0' + "PUB"."EmployeeID" as IdNum from Users 

Не работает ... Я могу добавить «0» в поле имени с без вопросов. Поэтому я предполагаю, что это кастовая проблема. С SQL Server я могу сделать это без преобразования столбцов ... К сожалению, я не очень разбираюсь в Progress ...

+0

'SELECT [ColumnName], как [имяПерем] из [Таблица]' 'означает, что varName' это столбец имя. Я еще раз прокомментирую, если выработал решение. –

ответ

2

Вы правы, это проблема кастинга, поскольку вывод столбца должен быть отформатирован.

Используя сервер SQL

Колонка TEST имеет тип NUMERIC, со значением 1115

SELECT REPLICATE('0',5-LEN(RTRIM(TEST))) + RTRIM(TEST) AS TEST FROM STUDENT; 

Выходы 01115

Приведенный выше код повторяет 0 для любого значения менее чем 5 символов в длину ,

+0

Благодарим за помощь. – DaBlue

0

Это было не совсем правильно ... Но я нашел ответ.

ПРАВЫЙ ('00000' + CONVERT ('VARCHAR', "NameID"), 5), как IDNum