sql >> Database >  >> RDS >> Oracle

ASCIISTR() Functie in Oracle

In Oracle Database, de ASCIISTR() functie retourneert een ASCII-versie van de gegeven tekenreeks in de databasetekenset.

Syntaxis

De syntaxis gaat als volgt:

ASCIISTR(char)

Waar char is een tekenreeks of een uitdrukking die wordt omgezet in een tekenreeks, in elke tekenset.

Niet-ASCII-tekens worden geconverteerd naar de vorm \xxxx , waar xxxx staat voor een UTF-16 code-eenheid.

Voorbeeld

Hier is een voorbeeld:

SELECT ASCIISTR('Fish')
FROM DUAL;

Resultaat:

Fish

In dit geval is het resultaat hetzelfde als de invoer, omdat de invoer ASCII-tekens gebruikte.

Hier is er nog een die niet-ASCII-tekens gebruikt:

SELECT ASCIISTR('ปลา')
FROM DUAL;

Resultaat:

\0E1B\0E25\0E32

Hier krijgen we elk van de drie karakters terug in hun ASCII-equivalenten.

In dit geval is de invoer (ปลา ) is het Thaise woord voor “vis”. Dit kan worden uitgesproken als "Plā".

Dit is wat er gebeurt als we Plā pass passeren naar de ASCIISTR() functie:

SELECT ASCIISTR('Plā')
FROM DUAL;

Resultaat:

Pl\0101

In dit geval zijn de eerste twee tekens die we hebben doorgegeven ASCII-tekens, maar het derde teken is niet-ASCII. Daarom retourneert de functie de eerste twee tekens ongewijzigd en de derde omgezet naar ASCII.

Hier is er nog een die slaagt voor น้ำ , wat het Thaise woord is voor "water":

SELECT ASCIISTR('น้ำ')
FROM DUAL;

Resultaat:

\0E19\0E49\0E33

Null-waarden

Als het argument null is , het resultaat is null :

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

Resultaat:

null

Standaard retourneren SQLcl en SQL*Plus een spatie wanneer een null-waarde optreedt als resultaat van een SQL SELECT verklaring.

U kunt echter SET NULL gebruiken om een ​​andere tekenreeks op te geven die moet worden geretourneerd. Hier heb ik gespecificeerd dat de string null moet worden geretourneerd.

Ongeldig aantal argumenten

Bellen ASCIISTR() zonder argumenten resulteert in een fout:

SELECT ASCIISTR()
FROM DUAL;

Resultaat:

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

  1. Hoe TRY_CONVERT() werkt in SQL Server

  2. Een beperking waardoor slechts één van de twee tabellen kan verwijzen naar een basistabel

  3. Een lijst met partitiefuncties retourneren in SQL Server (T-SQL)

  4. KIES VOOR XML AUTO en retourneer datatypes