2013-06-28 10 views
7

Ich verstehe, dass AS verwendet wird, um einen Alias ​​zu erstellen. Daher ist es sinnvoll, einen langen Namen als einen kürzeren Namen zu verwenden. Allerdings sehe ich eine SQL Abfrage NULL as ColumnName Was bedeutet dies?SQL: Was bedeutet NULL als ColumnName

+0

können Sie die gesamte Abfrage oder etwas ... wie 'wählen zeigen‚1‘als Nummerierung von tablename' – Sachin

+0

@sac Abfrage hinzugefügt, wie es steht –

+0

denke ich LittleBobbyTables Antwort richtig ist, ist es ein NULL * * Wert für eine Spalte für alle Zeilen ... – Sachin

Antwort

9

Aliasing kann auf verschiedene Arten verwendet werden, nicht nur um einen langen Spaltennamen zu verkürzen.

In diesem Fall bedeutet Ihr Beispiel, dass Sie eine Spalte zurückgeben, die immer NULL enthält, und ihr Alias-/Spaltenname ist aColumn.

Aliasing kann auch verwendet werden, wenn Sie berechnete Werte wie Column1 + Column2 AS Column3 verwenden.

+0

Ich denke, er hat Recht – Sachin

+0

Ich denke auch so;) Als * warum * sie die Abfrage so geschrieben haben, ist es eine Vermutung.Wie es geschrieben ist, tut es wirklich nichts anderes, als alle Spalten zurückzugeben, plus eine zusätzliche Spalte mit dem Namen 'aColumn'. Ohne den umgebenden Code oder die Geschäftsprozesse zu sehen, ist es schwierig zu erraten, was die Absicht der Abfrage ist. – LittleBobbyTables

+0

Und der Datentyp dieser Spalte ist "int" –

0

Im Anweisungsergebnis haben wir eine Spalte mit allen NULL-Werten. Wir können auf diese Spalte mit Alias ​​verweisen.

In Ihrem Fall wählt die Abfrage alle Datensätze aus der Tabelle aus, und jeder Ergebnisdatensatz enthält zusätzliche Spalten, die nur NULL-Werte enthalten. Wenn wir in Zukunft auf diese Ergebnismenge und auf eine zusätzliche Spalte an anderer Stelle verweisen wollen, sollten wir einen Alias ​​verwenden.

1

Es bedeutet, dass "aColumn" nur Nullwerte hat. Diese Spalte könnte später mit den tatsächlichen Werten aktualisiert werden, ist aber leer, wenn sie ausgewählt ist.

--- Ich bin mir nicht sicher, ob Sie über SSIS wissen, aber dieser Mechanismus ist nützlich mit SSIS, um Variablenwert in die "leere" Spalte hinzuzufügen.

+0

nur um sicher zu sein, bedeutet SSIS: SQL Server Integration Services? –

+1

Ja. Eine Abfrage, die Sie gepostet haben, könnte als Quellentabelle fungieren. Dann kann die in SSIS festgelegte Variable verwendet werden, um Werte für die leere Spalte bereitzustellen. – Echo

0

Bei Verwendung von SELECT können Sie einen Wert direkt an die Spalte übergeben. So so etwas wie:

SELECT ID, Name, 'None' AS Hobbies, 0 AS NumberOfPets, NULL AS Picture, '' AS Adress 

gültig ist.

Es kann verwendet werden, um eine Abfrage Ausgabe formatieren, wenn UNION/UNION ALL verwenden.

0

Wie wäre es ohne die Verwendung der als SELECT ID , Namens- , 'Keine' AS Hobbys , 0 AS NumberOfPets , NULL Bild

0

Normalerweise Hinzufügen NULL als [Spalte] Name am Ende ein Alle auswählen wird verwendet, wenn Sie eine berechnete Spalte basierend auf der von Ihnen ausgewählten Tabelle in eine andere Tabelle einfügen.

UPDATE #TempTable SET aColumn = Column1 + Column2 WHERE ... 

Dann exportieren oder speichern Sie die Ergebnisse in eine andere Tabelle.

0

Abfrageergebnis kann eine neue Spalte mit allen NULL-Werten enthalten. In SQL Server können wir es so machen

z.

SELECT *, CAST(NULL AS BIGINT) AS as aColumn 
Verwandte Themen