sql >> Database teknologi >  >> RDS >> Oracle

COMPOSE() Funktion i Oracle

I Oracle Database er COMPOSE() funktion returnerer resultatet af at anvende den kanoniske Unicode-sammensætning, som beskrevet i Unicode Standard-definitionen D117, til dets strengargument.

Det er det modsatte af DECOMPOSE() funktion.

Syntaks

Syntaksen ser sådan ud:

COMPOSE(char)

Hvor char er en af ​​CHAR , VARCHAR2 , NCHAR eller NVARCHAR2 datatyper.

Eksempel

Her er et eksempel til demonstration:

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

Resultat:

ã

Ikke Unicode-tegn

Hvis argumentets tegnsæt ikke er et af Unicode-tegnsættene, returneres argumentet uændret.

Eksempel:

SELECT COMPOSE( 'a' )
FROM DUAL;

Resultat:

a

Nul-argument

Hvis argumentet er null , resultatet er null :

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

Resultat:

null

Som standard returnerer SQLcl og SQL*Plus et tomt mellemrum, når der opstår en null-værdi som et resultat af en SQL SELECT erklæring.

Du kan dog bruge SET NULL for at angive en anden streng, der skal returneres. Her specificerede jeg, at strengen null skal returneres.

Ugyldigt argumentantal

Kalder COMPOSE() uden nogen argumenter resulterer i en fejl:

SELECT COMPOSE()
FROM DUAL;

Resultat:

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

Og at sende for mange argumenter resulterer også i en fejl:

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

Resultat:

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

  1. Sådan finder og erstatter du tekst i mysql-tabel

  2. Hvordan installeres Postgis til en Keg-installation af [email protected] ved hjælp af Homebrew?

  3. Hvordan ændrer jeg min session til at vise UTF8 i Oracle?

  4. ROWIDTOCHAR() Funktion i Oracle