无法将计算列设置为空值时遇到问题

我在将计算列设置not null遇到问题。

我想要达到的是C001C002...等,并且同时将它设置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

上一篇: Having trouble setting a computed column as not Null

下一篇: Trigger after insert on not null column