У меня есть числовой атрибут, содержащий идентификаторы в таблице моей базы данных. Однако идентификаторы имеют разную длину (например, 54261, 73284619, 3723). Я хочу, чтобы все они были одинаковой длины, добавив перед ними 0, чтобы все они были 10 цифрами (например, 000054261, 0073284619, 0000003723). Мне интересно, могу ли я написать SQL-запрос для этого или мне нужно сделать это в Excel.
Как добавить 0 к числовому атрибуту, чтобы все числа в атрибуте были 10 цифрами в SQL [дубликат]
1 июля 2021 в 20:59
30
1
Ответы (1)
1 июля 2021 в 21:03
Обычно рекомендуется использовать такие функции, как LPAD, RPAD
Попробуйте, как показано ниже
Select TO_NUMBER(LPAD(TO_CHAR(ID) , 10,'0')) FROM
DUAL;
LPAD добавит нули слева от идентификатора строки, чтобы сделать его 10-значным, а RPAD наоборот добавит 0 справа
Примечание: может поддерживаться не во всех базах данных, но в основном в oracle, postgres и т. д.
Отметьте свой вопрос с помощью базы данных, которую вы используете.
Чтобы добавить ведущие 0, вам сначала нужно преобразовать целые значения в varchar.
Разве вы не можете добавить нули в свой слой презентации, если они вам нужны?