Обнуляемый столбец SQL Server - PullRequest
3 голосов
/ 06 мая 2011

У меня есть таблица SQL Server с несколькими столбцами типа varchar, которые можно обнулять. Когда страница aspx публикует данные, если текстовое поле пустое, столбец таблицы базы данных обновляется до пустой строки.

Чтобы сохранить нулевое значение, вместо того, чтобы заменить его пустой строкой, я могу либо использовать логику, чтобы изменить пустую строку на System.DBnull в коде среднего уровня c #, либо сделать это в хранимой процедуре.

Есть ли другие лучшие способы справиться с этой ситуацией?

Ответы [ 2 ]

4 голосов
/ 06 мая 2011

Вы можете использовать триггер или сделать это в процедуре, вы можете использовать функцию NULLIF

Пример

DECLARE @d VARCHAR(20)
SELECT @d = ''
SELECT NULLIF(@d,'')
0 голосов
/ 06 мая 2011

Я бы, вероятно, поместил его рядом с кодом, который принимает решение на основе различия между пустой строкой и пустой строкой.Если нет никакой разницы между их значением и получающимся поведением приложения, я бы предложил сделать поле необнуляемым и придерживаться пустой строки.

...