diff options
Diffstat (limited to 'sqlglot/transforms.py')
-rw-r--r-- | sqlglot/transforms.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sqlglot/transforms.py b/sqlglot/transforms.py index a1ec1bd..ba72616 100644 --- a/sqlglot/transforms.py +++ b/sqlglot/transforms.py @@ -268,6 +268,17 @@ def add_recursive_cte_column_names(expression: exp.Expression) -> exp.Expression return expression +def epoch_cast_to_ts(expression: exp.Expression) -> exp.Expression: + if ( + isinstance(expression, (exp.Cast, exp.TryCast)) + and expression.name.lower() == "epoch" + and expression.to.this in exp.DataType.TEMPORAL_TYPES + ): + expression.this.replace(exp.Literal.string("1970-01-01 00:00:00")) + + return expression + + def preprocess( transforms: t.List[t.Callable[[exp.Expression], exp.Expression]], ) -> t.Callable[[Generator, exp.Expression], str]: |