En Oracle Database, ROWIDTOCHAR()
función convierte un ROWID
valor a VARCHAR2
tipo de datos.
Sintaxis
La sintaxis es así:
ROWIDTOCHAR(rowid)
Ejemplo
He aquí un ejemplo:
SELECT ROWIDTOCHAR('AAATiBAAMAAAAIDAAE')
FROM DUAL;
Resultado:
AAATiBAAMAAAAIDAAE
El resultado de la conversión siempre tiene 18 caracteres.
Y aquí hay un volcado del resultado en comparación con CHARTOROWID()
función (que devuelve un ROWID
valor de datos de caracteres):
SELECT
DUMP(CHARTOROWID('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "CHARTOROWID",
DUMP(ROWIDTOCHAR('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "ROWIDTOCHAR"
FROM DUAL;
Resultado:
CHARTOROWID ROWIDTOCHAR ____________________________ ________________________ Typ=69 Len=10: ^@,^A,8,81 Typ=1 Len=18: A,A,A,T
Un ID de tipo de 69
significa que es de ROWID
tipo de datos y un ID de tipo de 1
significa que es ya sea VARCHAR2
o NVARCHARCHAR2
.
Un ejemplo de base de datos
Aquí hay un ejemplo que devuelve una fila en una tabla de base de datos, según un ROWID
dado. :
SELECT
ROWID,
FIRST_NAME,
LAST_NAME
FROM EMPLOYEES
WHERE ROWIDTOCHAR(ROWID) LIKE '%KzABa';
Resultado:
ROWID FIRST_NAME LAST_NAME _____________________ _____________ ____________ AAATiDAAMAAALKzABa Timothy Gates
Argumento nulo
Si el argumento es null
, el resultado es null
:
SET NULL 'null';
SELECT ROWIDTOCHAR(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
Llamar a ROWIDTOCHAR()
sin ningún argumento da como resultado un error:
SELECT ROWIDTOCHAR()
FROM DUAL;
Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
Y pasar demasiados argumentos también da como resultado un error:
SELECT ROWIDTOCHAR('a', 'b')
FROM DUAL;
Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"