Skip to content

Commit

Permalink
fix: bq datetime to timestamp (#3220)
Browse files Browse the repository at this point in the history
* fix: bq datetime to timestamp

* fix test
  • Loading branch information
eakmanrq committed Mar 26, 2024
1 parent 9e39076 commit e7c9158
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 1 deletion.
1 change: 1 addition & 0 deletions sqlglot/dialects/bigquery.py
Expand Up @@ -323,6 +323,7 @@ class Tokenizer(tokens.Tokenizer):
"BEGIN TRANSACTION": TokenType.BEGIN,
"BYTES": TokenType.BINARY,
"CURRENT_DATETIME": TokenType.CURRENT_DATETIME,
"DATETIME": TokenType.TIMESTAMP,
"DECLARE": TokenType.COMMAND,
"ELSEIF": TokenType.COMMAND,
"EXCEPTION": TokenType.COMMAND,
Expand Down
7 changes: 7 additions & 0 deletions tests/dialects/test_bigquery.py
Expand Up @@ -1098,6 +1098,13 @@ def test_bigquery(self):
"postgres": "SELECT x % 10",
},
)
self.validate_all(
"SELECT CAST(x AS DATETIME)",
write={
"": "SELECT CAST(x AS TIMESTAMP)",
"bigquery": "SELECT CAST(x AS DATETIME)",
},
)

def test_errors(self):
with self.assertRaises(TokenError):
Expand Down
2 changes: 1 addition & 1 deletion tests/dialects/test_duckdb.py
Expand Up @@ -755,7 +755,7 @@ def test_time(self):
"SELECT MAKE_DATE(2016, 12, 25)", read={"bigquery": "SELECT DATE(2016, 12, 25)"}
)
self.validate_all(
"SELECT CAST(CAST('2016-12-25 23:59:59' AS DATETIME) AS DATE)",
"SELECT CAST(CAST('2016-12-25 23:59:59' AS TIMESTAMP) AS DATE)",
read={"bigquery": "SELECT DATE(DATETIME '2016-12-25 23:59:59')"},
)
self.validate_all(
Expand Down

0 comments on commit e7c9158

Please sign in to comment.