I think i figured out a weird behavior for triggers and want to confirm.
I am logging value changes for a table into a log table, and had way too many. so i added a where clause to check if the inserted table field is the same as the deleted table field.
But then it was missing a lot of changes. I then modified it to: ISNULL(i.field1,'') != ISNULL(d.field1,'')
This seems to do the trick where the old value was NULL and the new value is something. Without the ISNULL it was not catching the change.
Can somebody confirm this is the proper way to check for changed values?