Action
このステートメントを使用すると、列がnull許容ではないことに気づきました。
SELECT TOP 0 SerialNumber, 0 [Action] INTO #MyTable FROM FSE_SerialNumber
しかし、このステートメントを使用すると、Action
列はnull許容になります。
SELECT TOP 0 SerialNumber, CAST(0 as int) [Action] INTO #MyTable FROM FSE_SerialNumber
この方法でテーブルを作成する理由は、一時テーブルがサーバーのデフォルトの照合または他の場所からSerialNumberの照合を継承することを望まないためです。FSE_SerialNumber..SerialNumberの照合と一致させたい。
私の質問は、null許容列を提供するキャスト関数に依存できるか、またはこれが明確に定義されておらず、変更される可能性があるかどうかです。キャストによって列が突然null可能になるのはなぜですか?私の意図がnull許容列をそこに取得することであることを明確にするためのより良い方法(コメント以外)はありますか?