6

計算列をとして設定するのに問題があります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)
4

2 に答える 2

6

私はついに私の問題の解決策を見つけました!

正しいクエリは次のとおりです。

ALTER TABLE CreditCard ADD accountNo AS ISNULL('C'+right('000'+CONVERT([varchar](3),[idCreditCard],(0)),(3)),0)

助けてくれてありがとう!

于 2012-06-21T09:20:45.707 に答える
3

これがSQLServerに関連している場合は、MSDNからこれに興味があるかもしれません。

「PERSISTEDも指定されている場合にのみ、計算列にNOTNULLを指定できます。」 http://msdn.microsoft.com/en-us/library/ms190273.aspx

...しかし、回答から質問をリバースエンジニアリングしようとした後、'keenlearnerは、制約なしで列にnull値がないことを確認したかっただけだと思います。

于 2013-07-12T08:32:59.747 に答える