diff options
Diffstat (limited to '')
-rw-r--r-- | sqlglot/dialects/databricks.py | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sqlglot/dialects/databricks.py b/sqlglot/dialects/databricks.py new file mode 100644 index 0000000..9dc3c38 --- /dev/null +++ b/sqlglot/dialects/databricks.py @@ -0,0 +1,21 @@ +from sqlglot import exp +from sqlglot.dialects.dialect import parse_date_delta +from sqlglot.dialects.spark import Spark +from sqlglot.dialects.tsql import generate_date_delta_with_unit_sql + + +class Databricks(Spark): + class Parser(Spark.Parser): + FUNCTIONS = { + **Spark.Parser.FUNCTIONS, + "DATEADD": parse_date_delta(exp.DateAdd), + "DATE_ADD": parse_date_delta(exp.DateAdd), + "DATEDIFF": parse_date_delta(exp.DateDiff), + } + + class Generator(Spark.Generator): + TRANSFORMS = { + **Spark.Generator.TRANSFORMS, + exp.DateAdd: generate_date_delta_with_unit_sql, + exp.DateDiff: generate_date_delta_with_unit_sql, + } |