How to Find Out Data Type of Value with Presto
Presto has a typeof()
function to make finding out data types of values easy. This is particularly useful when you are getting values from nested maps for example and the data types need to be determined.
Here’s a simple example showing the type returned by Presto’s now()
function:
presto:default> select now() as System_Timestamp, typeof( now() ) as "the datatype is";
System_Timestamp | the datatype is
---------------------------------------+--------------------------
2020-11-18 15:15:09.872 Europe/London | timestamp with time zone
Some more examples:
presto:default> select typeof( 'abc' ) as "the datatype is";
the datatype is
-----------------
varchar(3)
presto:default> select typeof( 42 ) as "the datatype is";
the datatype is
-----------------
integer
presto:default> select typeof( 9999999999 ) as "the datatype is";
the datatype is
-----------------
bigint
presto:default> select typeof( 3.14159 ) as "the datatype is";
the datatype is
-----------------
decimal(6,5)
Armed with this info you should now be able to find out the data types of values.