sql >> Base de Datos >  >> RDS >> Oracle

Función ASCIISTR() en Oracle

En Oracle Database, el ASCIISTR() La función devuelve una versión ASCII de la cadena dada en el conjunto de caracteres de la base de datos.

Sintaxis

La sintaxis es así:

ASCIISTR(char)

Donde char es una cadena o una expresión que se resuelve en una cadena, en cualquier conjunto de caracteres.

Los caracteres que no son ASCII se convierten a la forma \xxxx , donde xxxx representa una unidad de código UTF-16.

Ejemplo

Este es un ejemplo:

SELECT ASCIISTR('Fish')
FROM DUAL;

Resultado:

Fish

En este caso, el resultado es el mismo que la entrada, porque la entrada usó caracteres ASCII.

Aquí hay otro que usa caracteres que no son ASCII:

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

Resultado:

\0E1B\0E25\0E32

Aquí, obtenemos cada uno de los tres caracteres devueltos en sus equivalentes ASCII.

En este caso, la entrada (ปลา ) es la palabra tailandesa para "pez". Esto se puede pronunciar como "Plā".

Esto es lo que sucede cuando pasamos Plā al ASCIISTR() función:

SELECT ASCIISTR('Plā')
FROM DUAL;

Resultado:

Pl\0101

En este caso, los dos primeros caracteres que pasamos son caracteres ASCII, pero el tercer carácter no es ASCII. Por lo tanto, la función devuelve los primeros dos caracteres sin cambios y el tercero convertido a ASCII.

Aquí hay otro que pasa น้ำ , que es la palabra tailandesa para "agua":

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

Resultado:

\0E19\0E49\0E33

Valores nulos

Si el argumento es null , el resultado es null :

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

Resultado:

null

De forma predeterminada, SQLcl y SQL*Plus devuelven un espacio en blanco cada vez que se produce un valor nulo como resultado de un SQL SELECT declaración.

Sin embargo, puede usar SET NULL para especificar una cadena diferente a devolver. Aquí especifiqué que la cadena null debe ser devuelto.

Recuento de argumentos no válidos

Llamando a ASCIISTR() sin ningún argumento da como resultado un error:

SELECT ASCIISTR()
FROM DUAL;

Resultado:

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