sql >> Databasteknik >  >> RDS >> Oracle

COMPOSE() Funktion i Oracle

I Oracle Database, COMPOSE() funktion returnerar resultatet av att tillämpa Unicodes kanoniska sammansättning, som beskrivs i Unicode Standard definition D117, på dess strängargument.

Det är motsatsen till DECOMPOSE() funktion.

Syntax

Syntaxen ser ut så här:

COMPOSE(char)

Där char är en av CHAR , VARCHAR2 , NCHAR , eller NVARCHAR2 datatyper.

Exempel

Här är ett exempel att visa:

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

Resultat:

ã

Icke Unicode-tecken

Om argumentets teckenuppsättning inte är en av Unicode-teckenuppsättningarna, returneras argumentet oförändrat.

Exempel:

SELECT COMPOSE( 'a' )
FROM DUAL;

Resultat:

a

Nollargument

Om argumentet är null , resultatet är null :

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

Resultat:

null

Som standard returnerar SQLcl och SQL*Plus ett tomt utrymme när ett nollvärde inträffar som ett resultat av en SQL SELECT uttalande.

Du kan dock använda SET NULL för att ange en annan sträng som ska returneras. Här specificerade jag att strängen null bör returneras.

Ogiltigt antal argument

Anropar COMPOSE() utan några argument resulterar i ett fel:

SELECT COMPOSE()
FROM DUAL;

Resultat:

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

Och att skicka för många argument resulterar också i ett fel:

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

Resultat:

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

  1. Få åtkomst till externa XML-filer som variabler i ett PSQL-skript (från ett bash-skript)

  2. PostgreSQL :cast sträng till datum DD/MM/ÅÅÅÅ

  3. Datumtyp utan tid i Oracle

  4. LOG10() Exempel i SQL Server