Как добавить 0 к числовому атрибуту, чтобы все числа в атрибуте были 10 цифрами в SQL [дубликат]

avatar
Narutoooo
1 июля 2021 в 20:59
30
1
0

У меня есть числовой атрибут, содержащий идентификаторы в таблице моей базы данных. Однако идентификаторы имеют разную длину (например, 54261, 73284619, 3723). Я хочу, чтобы все они были одинаковой длины, добавив перед ними 0, чтобы все они были 10 цифрами (например, 000054261, 0073284619, 0000003723). Мне интересно, могу ли я написать SQL-запрос для этого или мне нужно сделать это в Excel.

Источник
Gordon Linoff
1 июля 2021 в 21:00
1

Отметьте свой вопрос с помощью базы данных, которую вы используете.

jarlh
1 июля 2021 в 21:02
1

Чтобы добавить ведущие 0, вам сначала нужно преобразовать целые значения в varchar.

JeffUK
1 июля 2021 в 21:02
1

Разве вы не можете добавить нули в свой слой презентации, если они вам нужны?

Ответы (1)

avatar
Himanshu
1 июля 2021 в 21:03
0

Обычно рекомендуется использовать такие функции, как LPAD, RPAD

Попробуйте, как показано ниже

     Select   TO_NUMBER(LPAD(TO_CHAR(ID) , 10,'0')) FROM 
      DUAL;

LPAD добавит нули слева от идентификатора строки, чтобы сделать его 10-значным, а RPAD наоборот добавит 0 справа

Примечание: может поддерживаться не во всех базах данных, но в основном в oracle, postgres и т. д.