- Athena
- BigQuery
- Databricks
- Presto
- Redshift
- Snowflake
| Athena | e6data |
|---|---|
| current_date | current_date() |
| current_date AT TIME ZONE timezone | current_date(timezone) |
| current_timestamp | current_timestamp() |
| current_timestamp AT TIME ZONE timezone | current_timestamp(timezone) |
| date_trunc(‘month’, date) + interval ‘1’ month - interval ‘1’ day | last_day( <date/datetime expr> ) |
| DATE_TRUNC(‘unit’, timestamp) | date_trunc(unit, <expr> ) |
| date_add(unit, value, timestamp) | date_add(unit, value, <date expr>) |
| date_diff(unit, timestamp1, timestamp2) | date_diff( <date expr1>, <date expr2>, [<unit> optional]) |
| date_add(unit, value, timestamp) | timestamp_add(unit, value, <timestamp expr>) |
| date_diff(unit, timestamp1, timestamp2) | timestamp_diff(<timestamp expr1>, <timestamp expr2>, unit) |
| to_timestamp(string, format) | to_timestamp( <expr> ) |
| <exp> AT TIME ZONE <time zone> | datetime(<expr>, <time zone>) |
| from_unixtime(unixtime) | from_unixtime(<expr>, [<unit> optional]) |
| to_unixtime(expr) | to_unix_timestamp( <expr> ) |
| format_datetime(timestamp, format) | format_date( <expr>, format) |
| format_datetime(timestamp, format) | format_timestamp(<expr>, format) |
| extract(field FROM x) | extract( unit FROM <datetime expr>) |
| timestamp ‘2012-10-31 01:00’ + interval ‘1’ month | current_timestamp + interval ‘8’ minute |
| array_join(x, delimiter, null_replacement) | array_to_string( <expr>, delimiter) |
| json_extract_scalar(json, json_path) | json_value( <json expr>, <json-path>) |
| BigQuery | e6data |
|---|---|
APPROX_QUANTILES( | approx_quantiles( <expr>, number) |
| current_date() | current_date() |
| CURRENT_DATE([time_zone]) | current_date(timezone) |
| CURRENT_TIMESTAMP() | current_timestamp() |
| DATETIME(CURRENT_TIMESTAMP(), “America/Los_Angeles”) | current_timestamp(timezone) |
| last_day( <date/datetime expr> ) | last_day( <date/datetime expr> ) |
| DATE_TRUNC(date_expression, unit) | date_trunc(unit, <expr> ) |
| DATE_ADD(date_expression, INTERVAL int64_expression date_part) | date_add(unit, value, <date expr>) |
| DATE_DIFF(date_expression_a, date_expression_b, date_part) | date_diff( <date expr1>, <date expr2>, [<unit> optional]) |
| DATETIME_ADD(datetime_expression, INTERVAL int64_expression part) | timestamp_add(unit, value, <timestamp expr>) |
| DATETIME_DIFF(datetime_expression_a, datetime_expression_b, part) | timestamp_diff(<timestamp expr1>, <timestamp expr2>, unit) |
| TIMESTAMP(string_expression[, time_zone]) | to_timestamp( <expr> ) |
| DATETIME(timestamp_expression [, time_zone]) | datetime(<expr>, <time zone>) |
| format_timestamp(“%Y-%m-%d”, timestamp_seconds(time)) | from_unixtime(<expr>, [<unit> optional]) |
| UNIX_SECONDS(expr) | to_unix_timestamp( <expr> ) |
| FORMAT_DATE(format_string, date_expr) | format_date( <expr>, format) |
| FORMAT_DATETIME(format_string, datetime_expression) | format_timestamp(<expr>, format) |
| EXTRACT(part FROM date_expression) | extract( unit FROM <datetime expr>) |
| current_timestamp + interval ‘8’ minute | current_timestamp + interval ‘8’ minute |
| ARRAY_TO_STRING(array_expression, delimiter[, null_text]) | array_to_string( <expr>, delimiter) |
| JSON_VALUE(json_expr[, json_path]) | json_value( <json expr>, <json-path>) |
| Databricks | e6data |
|---|---|
| current_date() | current_date() |
| from_utc_timestamp(current_date(),timezone) | current_date(timezone) |
| current_timestamp() | current_timestamp() |
| from_utc_timestamp(current_timestamp(),timezone) | current_timestamp(timezone) |
| last_day(expr) | last_day( <date/datetime expr> ) |
| date_trunc(unit, expr) | date_trunc(unit, <expr> ) |
| dateadd(unit, value, expr) | date_add(unit, value, <date expr>) |
| datediff(endDate, startDate) | date_diff( <date expr1>, <date expr2>, [<unit> optional]) |
| timestampadd(unit, value, expr) | timestamp_add(unit, value, <timestamp expr>) |
| timestampdiff(unit, start, end) | timestamp_diff(<timestamp expr1>, <timestamp expr2>, unit) |
| to_timestamp(expr [, fmt] ) | to_timestamp( <expr> ) |
| from_utc_timestamp(expr, timeZone) | datetime(<expr>, <time zone>) |
| from_unixtime(unixTime [, fmt]) | from_unixtime(<expr>, [<unit> optional]) |
| to_unix_timestamp(expr [, fmt] ) | to_unix_timestamp( <expr> ) |
| date_format(expr, fmt) | format_date( <expr>, format) |
| date_format(expr, fmt) | format_timestamp(<expr>, format) |
| extract(field FROM source) | extract( unit FROM <datetime expr>) |
| date_part(field, expr) | datepart( unit, <expr> ) |
| caldate + interval ‘1 second’ | current_timestamp + interval ‘8’ minute |
| array_join(array, delimiter [, nullReplacement]) | array_to_string( <expr>, delimiter) |
| Presto | e6data |
|---|---|
| current_date | current_date() |
| current_date AT TIME ZONE timezone | current_date(timezone) |
| current_timestamp | current_timestamp() |
| current_timestamp AT TIME ZONE timezone | current_timestamp(timezone) |
| last_day_of_month(x) | last_day( <date/datetime expr> ) |
| date_trunc(unit, x) | date_trunc(unit, <expr> ) |
| date_add(unit, value, timestamp) | date_add(unit, value, <date expr>) |
| date_diff(unit, timestamp1, timestamp2) | date_diff( <date expr1>, <date expr2>, [<unit> optional]) |
| date_add(unit, value, timestamp) | timestamp_add(unit, value, <timestamp expr>) |
| date_diff(unit, timestamp1, timestamp2) | timestamp_diff(<timestamp expr1>, <timestamp expr2>, unit) |
| to_timestamp(string, format) | to_timestamp( <expr> ) |
| <exp> AT TIME ZONE <time zone> | datetime(<expr>, <time zone>) |
| from_unixtime(unixtime) | from_unixtime(<expr>, [<unit> optional]) |
| to_unixtime(expr) | to_unix_timestamp( <expr> ) |
| format_datetime(timestamp, format) | format_date( <expr>, format) |
| format_datetime(timestamp, format) | format_timestamp(<expr>, format) |
| extract(field FROM x) | extract( unit FROM <datetime expr>) |
| timestamp ‘2012-10-31 01:00’ + interval ‘1’ month | current_timestamp + interval ‘8’ minute |
| array_join(x, delimiter, null_replacement) | array_to_string( <expr>, delimiter) |
| json_extract_scalar(json, json_path) | json_value( <json expr>, <json-path>) |
| Redshift | e6data |
|---|---|
| current_date | current_date() |
| current_date AT TIME ZONE timezone | current_date(timezone) |
| current_timestamp | current_timestamp() |
| current_timestamp AT TIME ZONE timezone | current_timestamp(timezone) |
| LAST_DAY ( { date | timestamp } ) | last_day( <date/datetime expr> ) |
| DATE_TRUNC(‘unit’, timestamp) | date_trunc(unit, <expr> ) |
| DATEADD( datepart, interval, {date|time|timetz|timestamp} ) | date_add(unit, value, <date expr>) |
| DATEDIFF ( datepart, {date|time|timetz|timestamp}, {date|time|timetz|timestamp} ) | date_diff( <date expr1>, <date expr2>, [<unit> optional]) |
| DATEADD( datepart, interval, {date|time|timetz|timestamp} ) | timestamp_add(unit, value, <timestamp expr>) |
| DATEDIFF ( datepart, {date|time|timetz|timestamp}, {date|time|timetz|timestamp} ) | timestamp_diff(<timestamp expr1>, <timestamp expr2>, unit) |
| to_timestamp (timestamp, format) | to_timestamp( <expr> ) |
| <exp> AT TIME ZONE <time zone> | datetime(<expr>, <time zone>) |
| timestamp ‘epoch’ + CAST(your_timestamp_column AS BIGINT)/1000 * interval ‘1 second’ | from_unixtime(<expr>, [<unit> optional]) |
| extract(epoch from CURRENT_DATE) | to_unix_timestamp( <expr> ) |
| TO_CHAR (timestamp_expression | numeric_expression , ‘format’) | format_date( <expr>, format) |
| TO_CHAR (timestamp_expression | numeric_expression , ‘format’) | format_timestamp(<expr>, format) |
| EXTRACT ( datepart FROM { TIMESTAMP ‘literal’ | timestamp | time | timetz } ) | extract( unit FROM <datetime expr>) |
| DATE_PART(datepart, {date|timestamp}) | datepart( unit, <expr> ) |
| caldate + interval ‘1 second’ | current_timestamp + interval ‘8’ minute |
| json_extract_path_text(‘json_string’, ‘path_elem’ [,‘path_elem’[, …] ] [, null_if_invalid ] ) | json_value( <json expr>, <json-path>) |
| Snowflake | e6data |
|---|---|
| current_date() | current_date() |
| convert_timezone(‘UTC’,‘timestamp’, current_date()) | current_date(timezone) |
| current_timestamp() | current_timestamp() |
| convert_timezone(‘UTC’,‘timestamp’, current_timestamp()) | current_timestamp(timezone) |
| LAST_DAY( <date_or_time_expr> [ , <date_part> ] ) | last_day( <date/datetime expr> ) |
| DATE_TRUNC( <date_or_time_part>, <date_or_time_expr> ) | date_trunc(unit, <expr> ) |
| DATEADD( <date_or_time_part>, <value>, <date_or_time_expr> ) | date_add(unit, value, <date expr>) |
| DATEDIFF( <date_or_time_part>, <date_or_time_expr1>, <date_or_time_expr2> ) | date_diff( <date expr1>, <date expr2>, [<unit> optional]) |
| TIMESTAMPADD( <date_or_time_part> , <time_value> , <date_or_time_expr> ) | timestamp_add(unit, value, <timestamp expr>) |
| TIMESTAMPDIFF( <date_or_time_part> , <date_or_time_expr1> , <date_or_time_expr2> ) | timestamp_diff(<timestamp expr1>, <timestamp expr2>, unit) |
| to_timestamp( <expr> ) | to_timestamp( <expr> ) |
| CONVERT_TIMEZONE( <target_tz> , <source_timestamp> ) | datetime(<expr>, <time zone>) |
| TO_TIMESTAMP( epoch_sec ) | from_unixtime(<expr>, [<unit> optional]) |
| date_part(‘epoch_second’,current_timestamp()) | to_unix_timestamp( <expr> ) |
| TO_VARCHAR( <date_or_time_expr> [, ‘<format>’ ] ) | format_date( <expr>, format) |
| TO_VARCHAR( <date_or_time_expr> [, ‘<format>’ ] ) | format_timestamp(<expr>, format) |
| EXTRACT( <date_or_time_part> FROM <date_or_time_expr> ) | extract( unit FROM <datetime expr>) |
| DATE_PART( <date_or_time_part> , <date_or_time_expr> ) | datepart( unit, <expr> ) |
| caldate + interval ‘1 second’ | current_timestamp + interval ‘8’ minute |
| ARRAY_TO_STRING( <array> , <separator_string> ) | array_to_string( <expr>, delimiter) |
| JSON_EXTRACT_PATH_TEXT( <column_identifier> , ‘<path_name>’ ) | json_value( <json expr>, <json-path>) |