我有一个SQL Server表,其中有几列类型为varchar的可为空。如果文本框为空,aspx页发布数据时,数据库表列将更新为空字符串。
为了保持空值而不是用空字符串替换它,我可以具有在中间层C#代码中将空字符串更改为System.DBnull的逻辑,也可以在存储过程中这样做。
还有其他更好的方法来处理这种情况吗?
最佳答案
您可以使用触发器或在proc中进行操作,可以使用NULLIF
函数
例
DECLARE @d VARCHAR(20)
SELECT @d = ''
SELECT NULLIF(@d,'')