Если вы всегда хотите обновить таблицу A, когда Size или ProdDate равны NULL, вы можете использовать это в предложении where:
AND (A.Size <> B.Size OR A.ProdDate <> B.ProdDate OR A.Size IS NULL OR A.ProductDate IS NULL)
Если Size и ProdDate таблицы B равны NULL, тогда и вы хотите, чтобы они перезаписывали значения в таблице A, тогда вам потребуется другой подход. Вы можете использовать функцию COALESCE, чтобы изменить значения NULL на нечто сопоставимое:
AND (COALESCE(A.Size,-1) <> COALESCE(B.Size,-1) OR COALESCE(A.ProdDate,'1990-01-01') <> COALESCE(B.ProdDate,'1990-01-01'))
Если вы используете метод COALESCE, вам нужно обратить внимание на типы данных и ожидаемые значения в таблице. Вы не хотите объединять значения NULL со значениями, которые встречаются в вашей таблице, потому что тогда они не будут помечены как «разные» в предложении WHERE.
Вам также следует прочитать о сервере SQL Параметр ANSI_NULLS, поскольку это изменит поведение ваших сравнений NULL.