DUMP в Oracle SQL. Введение
Иногда разработчику нужно заглянуть «под капот» — увидеть, как данные реально хранятся в таблице: в каком типе, в каком формате, с каким кодированием. Для этого в Oracle SQL есть встроенная функция DUMP.
Функция DUMP позволяет вывести:
тип внутреннего хранения значения
длину значения в байтах
байтовое представление (в десятичной, шестнадцатеричной и других системах)
🔤 Написание
выражение— поле или значениеформат(необязательный): 8 — десятичный, 10 — символы, 16 — шестнадцатеричныйначало— с какого байта начинатьдлина— сколько байт извлечь
🔄 Где используется
Отладка проблем с кодировкой
Сравнение хранения значений в разных NLS-настройках
Анализ строковых несостыковок (разные символы выглядят одинаково)
Проверка различий в пробелах, невидимых символах
Диагностика «невидимых» различий между строками
🧪 10 Примеров использования DUMP
1️⃣ Простой пример
Выводит: Typ=96 Len=1: 65 (символ «A» в ASCII — 65)
2️⃣ DUMP по числу
3️⃣ Анализ кодировки строки
Покажет, в каких байтах реально хранится строка на кириллице.
4️⃣ DUMP с указанием формата (16 = HEX)
5️⃣ DUMP с анализом пробелов
Помогает найти отличия, когда строки визуально идентичны.
6️⃣ Вывод символов (format = 10)
7️⃣ DUMP части строки
Извлекаем 3 байта начиная со второго.
8️⃣ Сравнение двух визуально одинаковых строк
Первая — кириллическая «а», вторая — латинская.
9️⃣ Использование DUMP в WHERE для диагностики
🔟 Анализ поля из таблицы
🧩 DUMP в Oracle SQL. Заключение
Функция DUMP в Oracle SQL — мощный диагностический инструмент, который показывает, как именно значения хранятся внутри базы данных. Особенно полезна при поиске невидимых различий, отладке кодировок и анализе символов.
💡 Запомни:
По умолчанию
DUMPпоказывает тип, длину и байты (десятичные)Используй разные форматы:
8,10,16для других представленийОтлично помогает находить различия в строках, где
=не срабатывает