无法将计算列设置为空值时遇到问题
我在将计算列设置not null
遇到问题。
我想要达到的是C001
, C002...
等,并且同时将它设置not null
。
我已经在论坛上看到,这可以通过使用NULL值的默认值0来实现。
例如, ISNULL(Price + Taxes, 0)
我试图应用这个公式:
('C'+right('000'+CONVERT([varchar](3),[ID],(0)),(3)))
但它似乎没有工作。 谁能告诉我我错过了什么?
ALTER CreditCard accountNo AS ISNULL('C'+right('000'+CONVERT([varchar](3),[idCreditCard],(0)),(3)),0)
我终于找到了解决我的问题的方法!
正确的查询应该是:
ALTER TABLE CreditCard ADD accountNo AS ISNULL('C'+right('000'+CONVERT([varchar](3),[idCreditCard],(0)),(3)),0)
谢谢你们的帮助!
如果这涉及到SQL Server,您可能会对MSDN感兴趣。
'只有在指定了PERSISTED的情况下,才可以为计算列指定NOT NULL。' http://msdn.microsoft.com/en-us/library/ms190273.aspx
......但是在尝试从答案中对问题进行逆向工程之后,我认为'keenlearner只想确保在没有约束的情况下列中从来没有空值。
链接地址: http://www.djcxy.com/p/24721.html