diff options
Diffstat (limited to 'sqlglot/dialects/tsql.py')
-rw-r--r-- | sqlglot/dialects/tsql.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sqlglot/dialects/tsql.py b/sqlglot/dialects/tsql.py index f671630..92bb755 100644 --- a/sqlglot/dialects/tsql.py +++ b/sqlglot/dialects/tsql.py @@ -60,10 +60,10 @@ def _format_time_lambda( assert len(args) == 2 return exp_class( - this=args[1], + this=exp.cast(args[1], "datetime"), format=exp.Literal.string( format_time( - args[0].name, + args[0].name.lower(), {**TSQL.TIME_MAPPING, **FULL_FORMAT_TIME_MAPPING} if full_format_mapping else TSQL.TIME_MAPPING, @@ -467,6 +467,8 @@ class TSQL(Dialect): class Generator(generator.Generator): LOCKING_READS_SUPPORTED = True + LIMIT_IS_TOP = True + QUERY_HINTS = False TYPE_MAPPING = { **generator.Generator.TYPE_MAPPING, @@ -482,6 +484,7 @@ class TSQL(Dialect): exp.DateDiff: generate_date_delta_with_unit_sql, exp.CurrentDate: rename_func("GETDATE"), exp.CurrentTimestamp: rename_func("GETDATE"), + exp.Extract: rename_func("DATEPART"), exp.GroupConcat: _string_agg_sql, exp.If: rename_func("IIF"), exp.Max: max_or_greatest, |