Функция Oracle NLSSORT
Описание
Функция NLSSORT используется для замены строки символов эквивалентной строкой сортировки, используемой механизмом лингвистической сортировки. В случае двоичной сортировки строка сортировки совпадает со строкой ввода. В лингвистической сортировке каждый символ в строке заменяется некоторыми другими двоичными значениями.
Синтаксис:
NLSSORT (строка1 [, 'nlsparam'])
Параметры:
название | Описание | Тип данных |
---|---|---|
string1 | эквивалентная строка сортировки, используемая механизмом лингвистической сортировки. | CHAR, VARCHAR2, NCHAR или NVARCHAR2. |
nlsparam | Значение 'nlsparam' может иметь такую форму: 'NLS_SORT = sort' где sort - это либо последовательность лингвистической сортировки, либо BINARY. Последовательность лингвистической сортировки обрабатывает специальные лингвистические требования для преобразования регистра. Эти требования могут привести к возвращаемому значению, отличному от длины символа. Если вы опустите 'nlsparam', то эта функция использует последовательность сортировки по умолчанию для вашего сеанса. | CHAR, VARCHAR2, NCHAR или NVARCHAR2. |
Примеры: функция Oracle NLSSORT
Эта функция может использоваться для задания операций сортировки и сравнения на основе лингвистической последовательности сортировки, а не двоичного значения строки. В следующем примере создается тестовая таблица, содержащая два значения, и показано, как возвращаемые значения можно упорядочить с помощью функции NLSSORT:
CREATE TABLE mytable (имя VARCHAR2 (15)); Теперь вставьте 3 строки в mytable. Вот код ВСТАВЬТЕ В МОИСТЫЕ ЗНАЧЕНИЯ («Яанифер»); ВСТАВЬТЕ В МОИМОСТНЫЕ ЦЕННОСТИ («Ямтина»); INSERT INTO mytable VALUES («Jaasfield»); Теперь покажите данные таблицы в порядке возрастания имени. Вот код ВЫБРАТЬ * ИЗ mytable ЗАКАЗАТЬ по имени; НАЗВАНИЕ ------------ Jaanifer Jaasfield Jamtina
SELECT *
FROM mytable
ORDER BY NLSSORT(name, 'NLS_SORT = XDanish');
Пример вывода:
НАЗВАНИЕ ----------- Jamtina Jaanifer Jaasfield
В следующем примере показано, как использовать функцию NLSSORT в операциях сравнения:
SELECT *
FROM mytable
WHERE name > 'Jamtina'
ORDER BY name;
Пример вывода:
строки не выбраны
SELECT *
FROM mytable
WHERE NLSSORT(name, 'NLS_SORT = XDanish') >
NLSSORT('Jamtina', 'NLS_SORT = XDanish')
ORDER BY name;
Пример вывода:
НАЗВАНИЕ --------------- Jaanifer Jaasfield
Предыдущая: NLS_UPPER
Далее: REGEXP_REPLACE
Новый контент: Composer: менеджер зависимостей для PHP , R программирования