DECLARE EXTERNAL FUNCTION lpad
CSTRING(255), INTEGER, CSTRING(1)
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'IB_UDF_lpad' MODULE_NAME 'ib_udf';
DECLARE EXTERNAL FUNCTION strlen
CSTRING(32767)
RETURNS INTEGER BY VALUE
ENTRY_POINT 'IB_UDF_strlen' MODULE_NAME 'ib_udf';
Select Case
When (strlen(Ref) < 6) Then Lpad(Ref, 6, '0')
Else Ref
End As Ref
From Piezas
Update Piezas Set
Ref = Lpad(Ref, 6, '0')
Where strlen(Ref) < 6