Eu encontrei uma maneira não muito intuitiva de fazer isso usando
DUMP() SELECT DUMP(A.NAME),
DUMP(A.surname),
DUMP(B.ordernum)
FROM customer A
JOIN orders B
ON A.id = B.id
Ele retornará algo como:
'Typ=1 Len=2: 0,48' para cada coluna. Type=1 significa VARCHAR2/NVARCHAR2 Type=2 significa NUMBER/FLOAT Type=12 significa DATE , etc Você pode consultar este documento oracle para obter informações sobre o Código de Tipo de Dados
ou este para um mapeamento simples Mapeamentos de Código de Tipo Oracle