sql >> Databáze >  >> RDS >> Oracle

Funkce ASCIISTR() v Oracle

V databázi Oracle je ASCIISTR() Funkce vrací ASCII verzi daného řetězce ve znakové sadě databáze.

Syntaxe

Syntaxe vypadá takto:

ASCIISTR(char)

Kde char je řetězec nebo výraz, který se překládá na řetězec v jakékoli znakové sadě.

Jiné než ASCII znaky jsou převedeny do tvaru \xxxx , kde xxxx představuje jednotku kódu UTF-16.

Příklad

Příklad:

SELECT ASCIISTR('Fish')
FROM DUAL;

Výsledek:

Fish

V tomto případě je výsledek stejný jako vstup, protože vstup používal znaky ASCII.

Zde je další, který používá jiné znaky než ASCII:

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

Výsledek:

\0E1B\0E25\0E32

Zde získáme každý ze tří znaků vrácený v jejich ekvivalentech ASCII.

V tomto případě vstup (ปลา ) je thajské slovo pro „rybu“. To lze vyslovit jako „Plā“.

Co se stane, když projdeme Plā do ASCIISTR() funkce:

SELECT ASCIISTR('Plā')
FROM DUAL;

Výsledek:

Pl\0101

V tomto případě jsou první dva znaky, které jsme předali, znaky ASCII, ale třetí znak není ASCII. Funkce tedy vrátí první dva znaky beze změny a třetí převedený na ASCII.

Zde je další, který splňuje požadavky น้ำ , což je thajské slovo pro „vodu“:

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

Výsledek:

\0E19\0E49\0E33

Nulové hodnoty

Pokud je argument null , výsledkem je null :

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

Výsledek:

null

Ve výchozím nastavení vrátí SQLcl a SQL*Plus prázdné místo, kdykoli se v důsledku příkazu SQL SELECT objeví hodnota null prohlášení.

Můžete však použít SET NULL určit jiný řetězec, který má být vrácen. Zde jsem uvedl, že řetězec null by měl být vrácen.

Neplatný počet argumentů

Volání ASCIISTR() bez jakýchkoli argumentů vede k chybě:

SELECT ASCIISTR()
FROM DUAL;

Výsledek:

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

  1. Úvod do SQL

  2. Jak zálohovat a obnovit databázi MySQL?

  3. Získávání chyby:Autentizace peer selhala pro uživatele postgres, když se pokouší zprovoznit pgsql s rails

  4. MySql získává záznamy nebo data denně, týdně, měsíčně a ročně