Как я оставляю панель базы данных в FrontBase?

У меня есть таблица предметов (давайте назовем это WIDGETчто каждый из них имеет свой собственный восьмизначный номер штрих-кода, хранящийся в поле VARCHAR (назовем его BARCODE; первичный ключ таблицы находится в отдельном целочисленном столбце ID). Моя проблема в том, что некоторые строки содержат начальные нули, а другие - нет. Я хотел бы обновить все существующие записи (всего несколько сотен) до восьми цифр для согласованности.

  • 100000001
  • 23400000234
  • 567800005678
  • 0000901200009012

Я знаю, что FrontBase совместим с SQL-92, но SQL-92 не имеет функции специально для строк с левым отступом. Я уже нашел решение, но я публикую этот вопрос, чтобы узнать, может ли кто-нибудь придумать лучший способ сделать это, чем я.

1 ответ

Кажется, это работает (по крайней мере, в FrontBase 5.2.9):

UPDATE WIDGET SET BARCODE =
SUBSTRING('00000000' || BARCODE FROM CHAR_LENGTH(BARCODE) + 1);
Другие вопросы по тегам