Get data type of field in select statement in ORACLE
I found a not-very-intuitive way to do this by using DUMP()
SELECT DUMP(A.NAME), DUMP(A.surname), DUMP(B.ordernum) FROM customer A JOIN orders B ON A.id = B.id
It will return something like:
'Typ=1 Len=2: 0,48'
for each column.
Type=1
means VARCHAR2/NVARCHAR2
Type=2
means NUMBER/FLOAT
Type=12
means DATE
, etc.
You can refer to this oracle doc for information Datatype Code
or this for a simple mapping Oracle Type Code Mappings