如何在FrontBase中左键填充数据库列?

时间:2011-11-14 01:48:33

标签: sql frontbase

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

  • 100000001
  • 23400000234
  • 567800005678
  • 0000901200009012

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

1 个答案:

答案 0 :(得分:0)

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

UPDATE WIDGET SET BARCODE =
SUBSTRING('00000000' || BARCODE FROM CHAR_LENGTH(BARCODE) + 1);