No banco de dados Oracle, o
ROWIDTONCHAR() função converte um ROWID valor para NVARCHAR2 tipo de dados É semelhante ao
ROWIDTOCHAR() função, exceto que ROWIDTOCHAR() converte um ROWID valor para VARCHAR2 tipo de dados. Sintaxe
A sintaxe fica assim:
ROWIDTONCHAR(rowid) Exemplo
Aqui está um exemplo:
SELECT ROWIDTONCHAR('AAATiBAAMAAAAIDAAE')
FROM DUAL; Resultado:
AAATiBAAMAAAAIDAAE
O resultado da conversão está sempre no conjunto de caracteres nacional e tem 18 caracteres.
E aqui está um dump do resultado quando comparado ao
CHARTOROWID() função (que retorna um ROWID valor dos dados do caractere):SELECT
DUMP(CHARTOROWID('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "CHARTOROWID",
DUMP(ROWIDTONCHAR('AAATiBAAMAAAAIDAAE'), 17, 1, 4) AS "ROWIDTONCHAR"
FROM DUAL; Resultado:
CHARTOROWID ROWIDTONCHAR ____________________________ __________________________ Typ=69 Len=10: ^@,^A,8,81 Typ=1 Len=36: ^@,A,^@,A
Um ID de tipo de
69 significa que é de ROWID tipo de dados e um ID de tipo de 1 significa que é VARCHAR2 ou NVARCHARCHAR2 . Um exemplo de banco de dados
Aqui está um exemplo que retorna uma linha em uma tabela de banco de dados, com base em um determinado
ROWID :SELECT
ROWID,
FIRST_NAME,
LAST_NAME
FROM EMPLOYEES
WHERE ROWIDTONCHAR(ROWID) LIKE '%KzABa'; Resultado:
ROWID FIRST_NAME LAST_NAME _____________________ _____________ ____________ AAATiDAAMAAALKzABa Timothy Gates
Argumento nulo
Se o argumento for null , o resultado é null :
SET NULL 'null';
SELECT ROWIDTONCHAR(null)
FROM DUAL; Resultado:
null
Por padrão, SQLcl e SQL*Plus retornam um espaço em branco sempre que um valor nulo ocorre como resultado de um SQL SELECT demonstração.
No entanto, você pode usar SET NULL para especificar uma string diferente a ser retornada. Aqui eu especifiquei que a string null deve ser devolvido.
Contagem de argumentos inválidos
Chamando ROWIDTONCHAR() sem nenhum argumento resulta em um erro:
SELECT ROWIDTONCHAR()
FROM DUAL; Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"
E passar muitos argumentos também resulta em um erro:
SELECT ROWIDTONCHAR('a', 'b')
FROM DUAL; Resultado:
SQL Error: ORA-00909: invalid number of arguments 00909. 00000 - "invalid number of arguments"