Удалите ведущие нули в SQL

Udalite Vedusie Nuli V Sql



Когда мы имеем дело с реальными данными, они часто бывают беспорядочными и грязными. Это означает, что он может содержать ненужные или недействительные данные, которые могут помешать операциям и задачам, которые мы хотим с ним выполнить.

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

Ведущие нули в данных могут быть проблематичными, особенно при работе с числовыми значениями, хранящимися в виде строк.







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



Пример настройки данных

Прежде чем мы углубимся в приложения и примеры, давайте начнем с создания базового набора данных, который поможет продемонстрировать появление ведущих нулей.



Рассмотрим таблицу сотрудника с данными, как показано ниже:





СОЗДАТЬ ТАБЛИЦУ Сотрудник (
ID сотрудника VARCHAR(10)
);
ВСТАВИТЬ В ЗНАЧЕНИЯ Сотрудника (EmployeeID)
('00123'),
('00456'),
('00789'),
('01012'),
('01567');

В данном случае идентификатор сотрудника имеет тип «varchar». Однако значения содержат ведущие нули.

Давайте рассмотрим методы, которые мы можем использовать для удаления этих ведущих нулей.



Использование функции CAST

Одним из методов удаления ведущих нулей является преобразование строки в числовой тип. Мы можем использовать такую ​​функцию, как CAST или CONVERT(), как показано в следующем примере:

ВЫБЕРИТЕ CAST (EmployeeID AS INT) AS «EmployeeIDWithoutZeros»
ОТ Сотрудника;

Это должно работать автоматически в базах данных, поддерживающих функцию cast().

Однако в таких базах данных, как MySQL, вам может потребоваться перенести эту функцию в функцию обрезки, чтобы фактически удалить ведущие нули. Затем вы можете преобразовать значения в числовой тип, как показано в следующем примере:

ВЫБЕРИТЕ CAST(TRIM(LEADING '0' FROM EmployerID) AS SIGNED) AS EmployeeIDWithoutZeros
ОТ Сотрудника;

Полученный результат выглядит следующим образом:

Использование функции LTRIM

Самый распространенный и мощный метод, который можно использовать для удаления ведущих нулей, — это использование функции LTRIM(). Эта функция позволяет нам удалять любые ведущие пробельные символы в данной строке.

Однако это не позволяет нам указать конкретный символ, который мы хотим удалить. В нашем случае мы можем использовать его, удалив ведущие нули из строки.

Пример следующий:

ВЫБЕРИТЕ LTRIM(EmployeeID, '0') КАК «EmployeeIDWithoutZeros»
ОТ Сотрудника;

Это должно удалить начальные нулевые символы из строки.

Заключение

В этом уроке мы рассмотрели два основных метода, которые можно использовать для удаления любых начальных нулевых символов из заданной строки/столбца.