Разложение оракула

Razlozenie Orakula



Unicode — один из самых влиятельных и мощных стандартов кодирования в мире разработки. Unicode представляет символы почти всех языков путем кодирования символов в целочисленном коде от 0 до 0x10ffff.

Из-за универсальности баз данных вы время от времени будете преобразовывать строку в ее представление Unicode.







В этом руководстве вы узнаете, как использовать функцию decompose() баз данных Oracle для преобразования заданного значения в его представление Unicode.



Синтаксис функции декомпозиции Oracle

Синтаксис функции показан ниже:



DECOMPOSE( строка [, { 'КАНОНИЧНЫЙ' | 'СОВМЕСТИМОСТЬ' } ] )

Функция принимает два аргумента:





  1. Нить – это представляет строку, которая будет преобразована в композицию Unicode. Значение этого параметра может быть CHAR, VARCHAR, NCHAR, NVARCHAR2, CLOB и NCLOB.
  2. КАНОНИЧНЫЙ – установка значения в каноническое позволяет функции выполнять каноническую декомпозицию, которая позволяет рекомпозицию исходной строки. Если не указано, функция будет использовать этот параметр по умолчанию.
  3. СОВМЕСТИМОСТЬ – если установлено значение совместимости, функция будет выполнять декомпозицию в режиме совместимости. Этот режим не позволяет перекомпоновать исходную строку. Используйте этот параметр при разложении символов катаканы половинной ширины и полной ширины.

Следует помнить, что типы CLOB и NCLOB поддерживаются посредством явного преобразования.

Пример использования функции

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



Пример 1 – Использование основных функций

В следующем простом коде показано, как использовать функцию decompose для разложения строки в ее представление Unicode.

выберите decompose('Hello') в качестве вывода из двойного;

Запуск приведенного выше кода должен вернуть выходную строку в виде:

Пример 2 – Получение кода ASCII

Чтобы получить целочисленные значения Unicode, мы можем передать результирующую строку функции asciistr, как показано в примере ниже:

выберите asciistr(decompose('你好')) в качестве вывода из двойного;

Вывод:

Пример 3. Использование функции с символами, отличными от Unicode

Если мы предоставим функции символы, отличные от Unicode, функция вернет входную строку без каких-либо изменений.

Пример демонстрации показан ниже:

выберите decompose('l') в качестве вывода из двойного;

Результат:

Тот же случай применим даже при использовании функции asciistr.

выберите asciistr(('l')) в качестве вывода из двойного;

Вывод:

Пример 4. Использование функции с аргументом NULL

Функция вернет значение NULL, если входное значение равно NULL.

Пример:

выберите (NULL) как выход из двойного;

Вывод:

Пример 5. Вызов функции с отсутствующими параметрами

Строковый параметр в функции обязателен. Следовательно, если нам не удастся передать строковое значение, функция вернет ошибку, как показано ниже:

выберите () как выход из двойного;

Результат:

Ошибка SQL: ORA-00938: недостаточно аргументов для функции
00938. 00000 - 'недостаточно аргументов для функции'

Заключение

В этом руководстве вы узнали, как использовать функцию Oracle decompose() для преобразования строки в ее представление Unicode.