Найти в Дзене

Приемы очистки данных в SQL

  1. Выявление и удаление дублирующих записей

SELECT DISTINCT column1, column2, ...

FROM table_name;

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

SELECT column_name, COUNT(*)

FROM table_name

GROUP BY column_name

HAVING COUNT(*) > 1;

  1. Стандартизация текстовых полей

UPDATE table_name

SET column_name = UPPER(column_name);

Вы также можете использовать функцию REPLACE для замены определенных символов или строк в текстовых полях. Например:

UPDATE table_name

SET column_name = REPLACE(column_name, 'OldString', 'NewString');

  1. Обработка отсутствующих или нулевых значений

SELECT column1, column2, ...

FROM table_name

WHERE column_name IS NULL;

Затем вы можете удалить эти записи или заменить отсутствующие значения значением по умолчанию. Например:

UPDATE table_name

SET column_name = 'DefaultValue'

WHERE column_name IS NULL;

  1. Удаление кривых символов

UPDATE table_name

SET column_name = REPLACE(column_name, 'InvalidChar', '');

UPDATE table_name

SET column_name = REGEXP_REPLACE(column_name, '[^a-zA-Z0–9 ]', '');

  1. Обработка выбросов

Чтобы определить и удалить выбросов, мы можем использовать функции AVG и STDDEV для расчета среднего и стандартного отклонения столбца.

SELECT AVG(column_name), STDDEV(column_name)

FROM table_name;

  1. Корректировка форматов дат

Функция STR_TO_DATE может преобразовать строку в формат даты. Синтаксис функции следующий:

SELECT STR_TO_DATE(date_string, format_string)

FROM table_name;

  1. Очистка текстовых данных

Функция REPLACE может заменить подстроку в строке. Функция TRIM позволяет удалить из строки ведущие и последующие пробелы. Синтаксис выглядит следующим образом:

SELECT UPPER(column_name)

FROM table_name;

SELECT REPLACE(column_name, 'old_string', 'new_string')

FROM table_name;

SELECT TRIM(column_name)

FROM table_name;

  1. Проверка типов данных

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

SELECT CAST(column_name AS INT)

FROM table_name;

SELECT CONVERT(column_name, DATE)

FROM table_name;