Здравствуйте, SLGLADKOV, Вы писали:
SLG>Здравствуйте, Аноним, Вы писали:
А>>UPDATE MyTable SET nvarchar1 = 'blahblah' WHERE Id = '096fe792-7313-416f-b3c8-327f46be73b6' AND nvarchar1 <> 'blablah'
А>>Вот такой запрос не работает, когда nvarchar1 равен NULL. Подскажите, как переписать, чтоб заработал.
А>>Нюансы:
А>>1. Мне крайне важно не производить запись, если значение не поменялось.
А>>2. Тип поля неизвестен. Это может быть nvarchar, ntext, целое число, дробное. Выделенное жирным значение генерируется с учетом типа.
SLG>Попробуй вот так:
SLG>UPDATE MyTable SET nvarchar1 = 'blahblah' WHERE Id = '096fe792-7313-416f-b3c8-327f46be73b6' AND ISNULL(nvarchar1,'blablah') <> 'blablah'
Это первое, что приходит на ум, и оно не соответствует условиям задачи. Однако, кроме isnull есть is null, и это то, что надо.