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

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

В Oracle Database, ASCIISTR() функцията връща ASCII версия на дадения низ в набора от знаци на базата данни.

Синтаксис

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

ASCIISTR(char)

Къде char е низ или израз, който се разрешава до низ във всеки набор от знаци.

Не-ASCII знаци се преобразуват във формата \xxxx , където xxxx представлява UTF-16 кодова единица.

Пример

Ето един пример:

SELECT ASCIISTR('Fish')
FROM DUAL;

Резултат:

Fish

В този случай резултатът е същият като входния, тъй като входът използва ASCII символи.

Ето още един, който използва не-ASCII знаци:

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

Резултат:

\0E1B\0E25\0E32

Тук получаваме връщането на всеки от трите знака в техните ASCII еквиваленти.

В този случай входът (ปลา ) е тайландската дума за „риба“. Това може да се произнесе като „Plā“.

Ето какво се случва, когато предадем Plā към ASCIISTR() функция:

SELECT ASCIISTR('Plā')
FROM DUAL;

Резултат:

Pl\0101

В този случай първите два знака, които сме предали, са ASCII знаци, но третият знак не е ASCII. Следователно, функцията връща първите два знака непроменени, а третият преобразува в ASCII.

Ето още един, който преминава น้ำ , което е тайландската дума за „вода“:

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

Резултат:

\0E19\0E49\0E33

Нулеви стойности

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

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

Резултат:

null

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

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

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

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

SELECT ASCIISTR()
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. Изберете произволна извадка от резултати от резултат от заявка

  2. има ли начин да регистрирате всички неуспешни sql оператори в oracle 10g

  3. Бърз начин за генериране на конкатенирани низове в Oracle

  4. Документация на MAA за Oracle Cloud

  5. ORA-12505, TNS:слушателят в момента не знае за SID, даден в дескриптора на свързване