Gibt es eine SQL-Anweisung, die den Typ einer Spalte in einer Tabelle zurückgeben kann?
Antworten
Zu viele Anzeigen?
Alexander Shuev
Punkte
105
Da einige Leute auch nach der Genauigkeit des Datentyps gefragt haben, möchte ich mein Skript, das ich für diesen Zweck erstellt habe, mit Ihnen teilen.
SELECT TABLE_NAME As 'TableName'
COLUMN_NAME As 'ColumnName'
CONCAT(DATA_TYPE, '(', COALESCE(CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, DATETIME_PRECISION, ''), IIF(NUMERIC_SCALE <> 0, CONCAT(', ', NUMERIC_SCALE), ''), ')', IIF(IS_NULLABLE = 'YES', ', null', ', not null')) As 'ColumnType'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE -- ...
ORDER BY 'TableName', 'ColumnName'
Es ist nicht perfekt, aber es funktioniert in den meisten Fällen.
Verwendung von Sql-Server
Geza Bartha
Punkte
41
Aman
Punkte
143
Kprof
Punkte
742
Amir-ranjbar
Punkte
81