I have table which has almost hundred fields. I want to get all the fields which data type is date. Is it possible in oracle to write such a query to return fields only contain a certain data type? Here is my pseudo query:

```
Select * from mytable 
where colum_datatype is date

```

Similarly, I want to get all fields which is varchar2 type. is it possible to do that? 
I can find all the date fields manually and put them in the query but I just want to know is there another way to do it.
Thank you!