我有一个SQL Server表,其中有几列类型为varchar的可为空。如果文本框为空,aspx页发布数据时,数据库表列将更新为空字符串。

为了保持空值而不是用空字符串替换它,我可以具有在中间层C#代码中将空字符串更改为System.DBnull的逻辑,也可以在存储过程中这样做。

还有其他更好的方法来处理这种情况吗?

最佳答案

您可以使用触发器或在proc中进行操作,可以使用NULLIF函数


DECLARE @d VARCHAR(20)
SELECT @d = ''
SELECT NULLIF(@d,'')

10-08 01:50