in SQL Server, wenn ich eine Spalte wie:Was ist der Typ dieser Spalte?
select *, '1' as test
was ist die Art dieser neuen Spalte d.h 1?
Nur noch eine Frage, kann ich diese Spalte auf andere Tabelle verweisen?
in SQL Server, wenn ich eine Spalte wie:Was ist der Typ dieser Spalte?
select *, '1' as test
was ist die Art dieser neuen Spalte d.h 1?
Nur noch eine Frage, kann ich diese Spalte auf andere Tabelle verweisen?
Für SQL Server, können Sie solche Fragen leicht sp_describe_first_result_set
mit beantworten:
exec sp_describe_first_result_set N'select *, ''1'' as test from sys.objects'
eine Ergebnismenge produziert, zeigt die letzte Zeile davon, dass die test
Spalte, dass Ergebnismenge ist vom Typ varchar(1)
. (Weitere Ergebnisse in diesem Fall aus der sys.objects
Tabelle sind die anderen Spalten ziehen deutlich machen, dass dieses Verfahren fähig ist, Spalten als nicht beschreiben var
char(2)
oder nvarchar(128)
, so ist es nicht nur ein Problem mit der Anzeige)
Diese Spalte hat den Typ char (1) und Sie können diese Spalte auch in Joins oder anderen Manipulationen usw. verwenden.
weil sein Wert eine Zeichenkette in '' ist, wenn es eine ganze Zahl sein soll. Sie tun können, die folgenden:
select *, Cast(1 as INT) as test FROM SomeTable
Bitte sehen Sie meine aktualisierte Antwort –
@ DmitryBychenko - das kann das sinnvollere Ergebnis sein, aber es ist nicht was z. SQL Server produziert. –
Es auf RDBMS abhängen Am wahrscheinlichsten ist 'Char (1)' –
ANSI/ISO SQL: "Der deklarierte Typ eines ist eine Zeichenkette fester Länge. Die Länge eines ist die Anzahl von < Zeichendarstellung> s, die es enthält. " d.h. "Zeichen (1)" in diesem Fall. –
jarlh