0

我有一个项目表(我们称之为WIDGET),每个项目都有自己的八位条形码编号,存储在 VARCHAR 字段中(我们称之为BARCODE;表的主键位于单独的整数列中ID)。我的问题是某些行包含前导零,而其他行不包含。为了保持一致性,我想将所有现有记录(总共数百条)更新为八位数。

  • 100000001
  • 23400000234
  • 567800005678
  • 0000901200009012

我知道 FrontBase 符合 SQL-92,但 SQL-92 没有专门用于左填充字符串的功能。我已经想出了一个解决方案,但是我发布这个问题是为了看看是否有人能想到比我更好的方法。

4

1 回答 1

0

这似乎有效(至少在 FrontBase 5.2.9 中):

UPDATE WIDGET SET BARCODE =
SUBSTRING('00000000' || BARCODE FROM CHAR_LENGTH(BARCODE) + 1);
于 2013-01-14T00:42:34.907 回答