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) timeAlternatively, 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