我注意到,当我使用此语句时,该Action
列不可为空:
SELECT TOP 0 SerialNumber, 0 [Action] INTO #MyTable FROM FSE_SerialNumber
但是当我使用这个语句时,该Action
列可以为空:
SELECT TOP 0 SerialNumber, CAST(0 as int) [Action] INTO #MyTable FROM FSE_SerialNumber
我以这种方式创建表的原因是因为我不希望临时表从服务器默认排序规则或其他地方继承 SerialNumber 排序规则。我希望它与 FSE_SerialNumber..SerialNumber 的排序规则相匹配。
我的问题是,我是否可以依靠 cast 函数给我一个可为空的列,或者这是否没有明确定义并且可能会改变。为什么演员表突然使列可以为空?有没有更好的方法(除了评论)来澄清我的意图是在那里获得一个可为空的列?