diff --git a/data_diff/databases/mssql.py b/data_diff/databases/mssql.py index d84eab94..fc0b8f58 100644 --- a/data_diff/databases/mssql.py +++ b/data_diff/databases/mssql.py @@ -138,6 +138,13 @@ def constant_values(self, rows) -> str: return f"VALUES {values}" def normalize_timestamp(self, value: str, coltype: TemporalType) -> str: + # For timezone-aware columns (datetimeoffset), convert to UTC explicitly + # since MsSQL cannot set a session timezone. + # For timezone-naive columns (datetime/datetime2), no conversion is possible + # without knowing the source timezone — values are used as-is. + if isinstance(coltype, TimestampTZ): + value = f"{value} AT TIME ZONE 'UTC'" + if coltype.precision > 0: formatted_value = ( f"FORMAT({value}, 'yyyy-MM-dd HH:mm:ss') + '.' + "