Это даст вам список всех столбцов в вашем TableA
, имеющих тип, связанный с датой (DATE, DATETIME, DATETIME2, DATETIMEOFFSET и т. Д.):
SELECT *
FROM sys.columns
WHERE object_id = object_id('TableA')
AND system_type_id IN (40, 42, 43, 58, 61)
ORDER BY name
Вы можете запустить это для обеих таблиц и посмотреть, если вы найдете какие-либо расхождения.
Или вы можете запустить это для обеих таблиц - он выдаст вам список столбцов (имен) и их связанный тип данных:
SELECT
c.NAME,
t.name
FROM sys.columns c
INNER JOIN sys.types t ON c.system_type_id = t.system_type_id
WHERE object_id = object_id('TableA')
ORDER BY c.name
Может быть, вы увидите столбец в Таблице B, который имеет тип varchar, который сопоставляется со столбцом типа DATETIME в Таблице A, и затем найдете своего виновника таким образом.
Марк