Steuern der NULL-Fähigkeit in SELECT INTO für literalbasierte Spalten

Mir ist aufgefallen, dass, wenn ich diese Aussage verwende, dieAction Spalte ist nicht nullfähig:

SELECT TOP 0 SerialNumber, 0 [Action] INTO #MyTable FROM FSE_SerialNumber

Aber wenn ich diese Aussage verwende, ist dieAction Spalte ist nullbar:

SELECT TOP 0 SerialNumber, CAST(0 as int) [Action] INTO #MyTable FROM FSE_SerialNumber

Mein Grund für das Erstellen der Tabelle auf diese Weise ist, dass die temporäre Tabelle die Sortierung von SerialNumber nicht von der Standard-Sortierung des Servers oder von einer anderen Stelle erben soll. Ich möchte, dass es mit der Sortierung von FSE_SerialNumber..SerialNumber übereinstimmt.

Meine Frage ist, ob ich mich darauf verlassen kann, dass die Cast-Funktion mir eine nullfähige Spalte gibt, oder ob dies nicht klar definiert ist und sich möglicherweise ändert. Warum macht die Besetzung die Spalte plötzlich ungültig? Gibt es eine bessere Möglichkeit (außer Kommentaren), um zu verdeutlichen, dass ich beabsichtige, dort eine nullfähige Spalte zu erhalten?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage