Добавить ведущие нули в поле - PullRequest
0 голосов
/ 03 января 2019

Я хочу добавить ведущие нули, когда длина целого числа меньше 7 цифр. Если длина целого числа больше или равна 7 цифрам, оно должно вернуть действительное целое число. Я пробовал sql как показано ниже

select to_char(123456, 'fm0000000');
to_char 
---------
0123456
(1 row)

Когда количество цифр было> 7, оно возвращается ниже строки

select to_char(12345678, 'fm0000000');
to_char 
---------
#######
(1 row)

Как я могу получить точное целое число, если число цифр больше 7? Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 03 января 2019

Используйте функцию lpad плюс оператор CASE:

select
  case
    when length(123456::text) < 7 then lpad(123456::text, 7, '0')
    else 123456::text
  end;
0 голосов
/ 03 января 2019

Вы можете использовать lpad():

select (case when len(123412345::text) >= 8 then 123412345::text
             else lpad(123412345::text, 8, '0')
        end)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...