Explore this snippet here.
BigQuery supports the DATE
/ DATETIME
/ TIMESTAMP
/ TIME
data types, all of which have different STRING
representations.
If a string is formatted correctly, the CAST
function will convert it into the appropriate type:
select
cast('2017-06-04 14:44:00' AS datetime) AS datetime,
cast('2017-06-04 14:44:00 Europe/Berlin' AS timestamp) AS timestamp,
cast('2017-06-04' AS date) AS date,
cast( '14:44:00' as time) time
Alternatively, if the format of the string is non-standard but consistent, it is possible to define a custom string format using one of the PARSE_DATE
/ PARSE_DATETIME
etc. functions:
select
parse_datetime(
'%A %B %d, %Y %H:%M:%S',
'Thursday January 7, 2021 12:04:33'
) as parsed_datetime