Как я оставляю панель базы данных в FrontBase?
У меня есть таблица предметов (давайте назовем это WIDGET
что каждый из них имеет свой собственный восьмизначный номер штрих-кода, хранящийся в поле VARCHAR (назовем его BARCODE
; первичный ключ таблицы находится в отдельном целочисленном столбце ID
). Моя проблема в том, что некоторые строки содержат начальные нули, а другие - нет. Я хотел бы обновить все существующие записи (всего несколько сотен) до восьми цифр для согласованности.
1
→00000001
234
→00000234
5678
→00005678
00009012
→00009012
Я знаю, что FrontBase совместим с SQL-92, но SQL-92 не имеет функции специально для строк с левым отступом. Я уже нашел решение, но я публикую этот вопрос, чтобы узнать, может ли кто-нибудь придумать лучший способ сделать это, чем я.
1 ответ
Кажется, это работает (по крайней мере, в FrontBase 5.2.9):
UPDATE WIDGET SET BARCODE =
SUBSTRING('00000000' || BARCODE FROM CHAR_LENGTH(BARCODE) + 1);