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?