Encontré una forma no muy intuitiva de hacer esto usando DUMP()
SELECT DUMP(A.NAME),
DUMP(A.surname),
DUMP(B.ordernum)
FROM customer A
JOIN orders B
ON A.id = B.id
Devolverá algo como:
'Typ=1 Len=2: 0,48'
para cada columna.
Type=1
significa VARCHAR2/NVARCHAR2
Type=2
significa NUMBER/FLOAT
Type=12
significa DATE
, etc
Puede consultar este documento de Oracle para obtener información sobre el Código de tipo de datos
o esto para obtener una asignación simple Asignaciones de código de tipo de Oracle