diff options
Diffstat (limited to 'sqlglot/dialects/tsql.py')
-rw-r--r-- | sqlglot/dialects/tsql.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/sqlglot/dialects/tsql.py b/sqlglot/dialects/tsql.py index d07b083..371e888 100644 --- a/sqlglot/dialects/tsql.py +++ b/sqlglot/dialects/tsql.py @@ -248,7 +248,6 @@ class TSQL(Dialect): KEYWORDS = { **tokens.Tokenizer.KEYWORDS, - "BIT": TokenType.BOOLEAN, "DATETIME2": TokenType.DATETIME, "DATETIMEOFFSET": TokenType.TIMESTAMPTZ, "DECLARE": TokenType.COMMAND, @@ -283,19 +282,20 @@ class TSQL(Dialect): substr=seq_get(args, 0), position=seq_get(args, 2), ), - "ISNULL": exp.Coalesce.from_arg_list, "DATEADD": parse_date_delta(exp.DateAdd, unit_mapping=DATE_DELTA_INTERVAL), "DATEDIFF": parse_date_delta(exp.DateDiff, unit_mapping=DATE_DELTA_INTERVAL), "DATENAME": _format_time_lambda(exp.TimeToStr, full_format_mapping=True), "DATEPART": _format_time_lambda(exp.TimeToStr), + "EOMONTH": _parse_eomonth, + "FORMAT": _parse_format, "GETDATE": exp.CurrentTimestamp.from_arg_list, - "SYSDATETIME": exp.CurrentTimestamp.from_arg_list, "IIF": exp.If.from_arg_list, + "ISNULL": exp.Coalesce.from_arg_list, + "JSON_VALUE": exp.JSONExtractScalar.from_arg_list, "LEN": exp.Length.from_arg_list, "REPLICATE": exp.Repeat.from_arg_list, - "JSON_VALUE": exp.JSONExtractScalar.from_arg_list, - "FORMAT": _parse_format, - "EOMONTH": _parse_eomonth, + "SQUARE": lambda args: exp.Pow(this=seq_get(args, 0), expression=exp.Literal.number(2)), + "SYSDATETIME": exp.CurrentTimestamp.from_arg_list, } VAR_LENGTH_DATATYPES = { @@ -421,7 +421,6 @@ class TSQL(Dialect): TYPE_MAPPING = { **generator.Generator.TYPE_MAPPING, # type: ignore - exp.DataType.Type.BOOLEAN: "BIT", exp.DataType.Type.INT: "INTEGER", exp.DataType.Type.DECIMAL: "NUMERIC", exp.DataType.Type.DATETIME: "DATETIME2", |