Oracle
 sql >> база данни >  >> RDS >> Oracle

Функция COMPOSE() в Oracle

В Oracle Database, COMPOSE() функцията връща резултата от прилагането на каноничната композиция на Unicode, както е описано в стандартната дефиниция на Unicode D117, към нейния низ аргумент.

Това е обратното на DECOMPOSE() функция.

Синтаксис

Синтаксисът е така:

COMPOSE(char)

Където char е един от CHAR , VARCHAR2 , NCHAR или NVARCHAR2 типове данни.

Пример

Ето пример за демонстрация:

SELECT 
    COMPOSE('a' || UNISTR('\0303'))
FROM DUAL;

Резултат:

ã

Символи, които не са Unicode

Ако наборът от символи на аргумента не е един от наборите от символи на Unicode, аргументът се връща непроменен.

Пример:

SELECT COMPOSE( 'a' )
FROM DUAL;

Резултат:

a

Нулев аргумент

Ако аргументът е null , резултатът е null :

SET NULL 'null';
SELECT COMPOSE(null)
FROM DUAL;

Резултат:

null

По подразбиране SQLcl и SQL*Plus връщат празно пространство, когато се появи нулева стойност в резултат на SQL SELECT изявление.

Въпреки това, можете да използвате SET NULL за да посочите различен низ, който да бъде върнат. Тук посочих, че низът null трябва да бъдат върнати.

Невалиден брой аргументи

Извикване на COMPOSE() без никакви аргументи води до грешка:

SELECT COMPOSE()
FROM DUAL;

Резултат:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

И предаването на твърде много аргументи също води до грешка:

SELECT COMPOSE('a', 'b')
FROM DUAL;

Резултат:

SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да премахнете правилната подплата в името на деня в Oracle

  2. Как можем да определим размера на изходния параметър в съхранената процедура?

  3. Oracle Joins - Сравнение между конвенционален синтаксис VS ANSI синтаксис

  4. Как да добавите пореден номер за всеки елемент в група с помощта на SQL заявка без временни таблици

  5. Обвързване на OracleCommand SQL параметри