«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как отформатировать целочисленные значения с ведущими нулями в SQL Server?

Как отформатировать целочисленные значения с ведущими нулями в SQL Server?

Опубликовано в 2025-03-24
Просматривать:260

How to Format Integer Values with Leading Zeros in SQL Server?

системы с ведущими нулями в SQL Server

]

В SQL Server вы можете столкнуться с ситуациями, когда вам необходимо форматировать значения с помощью ведущих нулей для повышения производительности отображения или эффективности передачи данных. Давайте решим эту проблему с конкретным примером:

]

вопрос:

у нас есть таблица SQL с номерами сотрудников, хранящиеся как строки символов длиной 6 (например, «000001» до '999999'). Мы хотим создать новую таблицу с рабочим номером в качестве целого числа для улучшения обработки данных. Как изменить запрос SQL, чтобы отформатировать возвращенное целочисленное значение на '000000' (с ведущими нулями)?

]

Отвечать:

Для достижения этого форматирования мы можем использовать функции Replicate () и len ():

]
SELECT REPLICATE('0', 6 - LEN(EmployeeID))   EmployeeID
]]

вот как это работает:

]
    ]
  • Replicate ('0', 6 - len (employeeid)) создает нулевую строку с длиной, равной 6 минус длину работника.
  • ]
  • затем используйте оператора для объединения этой нулевой строки с работником, что приводит к форматированной строке с ведущими нулями.
  • ]
]

Например, если сотрудник составляет 7135, запрос вернется '007135'.

]

Уведомление:

    ]
  • Если столбец сотрудника объявлен как int, вы можете использовать функцию rtrim (), чтобы неявно преобразовать ее в varchar:
  • ]
]
SELECT REPLICATE('0', 6 - LEN(RTRIM(EmployeeID)))   RTRIM(EmployeeID)
]]
    ]
  • , чтобы удалить ведущий ноль и получить исходный номер, используйте следующий запрос:
]
SELECT RIGHT(EmployeeID, (LEN(EmployeeID) - PATINDEX('%[^0]%', EmployeeID))   1)
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3