IBM DB2 LPAD / RPAD

Я использую db2 v.9.1 на сервере Windows 2003, поэтому он не может использовать скалярные функции LPAD или RPAD. потому что эти функции поддерживают только z / OS, верно?

Теперь я использую этот способ для нулевой площадки, когда тип COLUMN1 - VARCHAR

 RIGHT('0000' ||  COLUMN1 ,4) AS  RPAD
 LEFT('0000' ||  COLUMN1 ,4) AS  LPAD

Есть лучший способ заменить функцию LPAD или RPAD?

Не должно быть? LEFT (COLUMN1 || '0000', 4) AS RPAD RIGHT ('0000' || COLUMN1, 4) AS LPAD

Paul Morgan 18.11.2008 01:11
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
1
8 659
2

Ответы 2

Я думаю, вам, вероятно, понадобится скалярная функция ПОВТОРИТЬ.

REPEAT('0',4) || column_name

Теперь, если вы хотите ограничить 0 на основе количества символов, вы можете использовать функцию RIGHT, и это будет выглядеть примерно так, если ваш столбец - varchar(10):

RIGHT(REPEAT('0',4) || column_name, 10) в этом случае, если у вас есть символы, он заполнит его 4 предшествующими нулями, но если у вас 7 символов, он заполнит его 3 нулями.

Итак, у вас будет:
00001,
000012,
0000123,
00001234,
000012345,
0000123456,
0001234567,
0012345678,
и т.п.

Другие вопросы по теме