2012-04-10 13 views
2

t-sqlでは、何かをデータ型に変換すると、0以外の値はすべてtrueに変換されます。私は、列がnullableでないという前提で取り組んでいます。私はNULLをゼロ以外の値とみなし、値nullをデータ型ビットに変換すると、それが0(AKA false)であると予想します。tsqlのゼロ以外の値は何ですか?

これは、nullに基づいてゼロ以外の値を構成するのだろうと私は思っていますが、ゼロ以外の値は値1(真)に変換されます。

私の質問は実際にNULLになります。ゼロでない値、またはNULL値(値の欠如)は実際に完全に分離され、ゼロ以外の値またはゼロとしてカウントされず、単にNULLとしてカウントされます。これが当てはまる場合は、NULLを指定できない列に挿入された場合、どのように変換されますか?

多くのおかげで、TSQLで

+0

NULLは不定です。 Non-Zeroと同じくらいNon-Zeroです。質問「NULLが非ゼロですか?」に対する答えは 'NULL'です。そして、 'NULL'は' TRUE'ではありません。そして、真偽テストが成功するには 'TRUE'だけが許されます。 – MatBailie

+0

ところで、これは幾分仮説的な質問です。ヌル以外のカラムにNULLを挿入すると、挿入が失敗するだけです!私は見るので、NULL自体は非ゼロと非1の両方に分かれています - ありがとうございます。 – user1323780

答えて

0

、NULLがなぜNULL <> 0 = NULLとしない1ビットに変換して、未知の値であると考えられます。

+0

私はそれを理解していますが、理論的には、ヌル値を持たないビット列にNULLを挿入しても挿入が失敗しない場合、実際に値はどのようになりますか? – user1323780

+0

NULLは不明で、他のものにはなり得ません。 –

+0

どのように誰が "失敗しなければならなかったら、それは何をしますか?" – AakashM

関連する問題