从 DB2 字符串中删除方括号并添加前导零

Remove square bracket from DB2 string and add leading zeros

我正在使用 DB2 11。我有一名 table 员工,它包含一列 employee_id。 它有 114131 条记录。在这些记录中,大约 20% 的案例 employee_id 包含这种格式 [12345678] 的记录,其余 80% 的案例采用这种格式 0012345678.So 对于这 20% 的案例,我想从 emp_id 并在 employee_id 列中添加 2 个前导零以使其长度为 10 个字符(如果有方括号)。你能建议我怎么做吗?

在 Windows 上使用 Db2 v11 执行此操作的一种方法(其他方法也是可能的)是: lpad(regexp_extract(employee_id, '\d+'),10,'0') 因此您可以在 SELECT 或 UPDATE 中适当地使用它。这将删除任何非数字字符,假设这是真正的意图,而不仅仅是 [ ] .