Создать ведущий ноль в Oracle

Я использую Adempiere, у которого есть база данных Oracle

У меня есть окно с именем Stock Code из таблицы с именем M_StockCode

Поля - Code и Description.

В настоящее время тип данных Code - Number, а Description - Varchar2.

Я хочу ввести Sparepart с Code 01 и Body Repair с Code 02.

Когда я ввожу данные в Adempiere и сохраняю их, будет отображаться Sparepart с Code 1 (без нуля в начале)

Я пробовал поставить функцию LPAD, но все равно не удалось.

Как я могу поставить 01 как в интерфейсе Adempiere, так и в базе данных?

Любое предложение будет оценено :)


person Jedi Codestar    schedule 10.10.2015    source источник


Ответы (2)


NUMBER не может начинаться с нуля, а STRING может.

  1. Если вы хотите сохранить коды с ведущим нулем в таблице базы данных, вы должны использовать VARCHAR2, а не NUMBER .

  2. Если вы хотите просто отобразить число с нулем в начале, используйте TO_CHAR для преобразования числа в строку.

Например,

SQL> SELECT TO_CHAR(1, '00') FROM DUAL;

TO_
---
 01

Вы также можете использовать LPAD, но помните, что тип данных результата будет строкой, а не числом.

Например,

SQL> SELECT LPAD(1, 2, '0') FROM DUAL;

LP
--
01
person Lalit Kumar B    schedule 10.10.2015

В Adempiere вы управляете моделью с помощью Application Dictionary, эквивалента словаря данных, используемого реляционными базами данных.

  1. Войдите в Adempiere как системный администратор.
  2. Выберите пункт меню Application Dictionary->Table & Column.
  3. Выберите таблицу M_StockCode и в ее окне щелкните вкладку Столбцы.
  4. Здесь выберите столбец Код и при необходимости переключитесь на представление Форма.
  5. Теперь в раскрывающемся списке выберите значение Ссылка для String и установите для параметра Length значение 2.
  6. Наконец, нажмите кнопку Synchronize Column, чтобы Admepiere изменил базу данных.

Если этот код представляет собой некую классификацию, может быть полезно создать новый тип Ссылка в Словаре приложения, а затем вы можете указать на него свой столбец; это обеспечит согласованность, предлагая пользователю выбор на выбор, а не ввод значений. Справочник может быть типом Список. что удобно для коротких списков или на основе таблиц, что полезно, когда классификация более изменчива и должна поддерживаться пользователями.

person Colin Rooney    schedule 13.10.2015