470 Stimmen

SQL-Anweisung zur Ermittlung des Spaltentyps

Gibt es eine SQL-Anweisung, die den Typ einer Spalte in einer Tabelle zurückgeben kann?

2voto

bulbul bd Punkte 126

Das nachstehende SQL-Skript funktioniert bei mir einwandfrei.

SELECT column_name AS 'Column Name',data_type AS 'Data Type' 
FROM information_schema.columns 
WHERE table_name = '[Table Name]'

2voto

alex351 Punkte 1491

Ich denke, die einfachste und nützlichste Methode ist das Microsoft SQL Server Management Studio:

EXEC [ServerName].[DatabaseName].dbo.sp_help 'TableName'

2voto

Somil Gupta Punkte 39
SHOW COLUMNS FROM //table_name// ;

Es gibt Ihnen Informationen über alle Spalten der Tabelle.

2voto

Jigar Parekh Punkte 553

Mit dieser Abfrage erhalten Sie Schema, Tabelle, Spalte, Typ, max_length, is_nullable

SELECT QUOTENAME(SCHEMA_NAME(tb.[schema_id])) AS 'Schema'
    ,QUOTENAME(OBJECT_NAME(tb.[OBJECT_ID])) AS 'Table'
    ,C.NAME as 'Column'
    ,T.name AS 'Type'
    ,C.max_length
    ,C.is_nullable
FROM SYS.COLUMNS C INNER JOIN SYS.TABLES tb ON tb.[object_id] = C.[object_id]
    INNER JOIN SYS.TYPES T ON C.system_type_id = T.user_type_id
WHERE tb.[is_ms_shipped] = 0
ORDER BY tb.[Name]

2voto

Anthony Griggs Punkte 1313

In meinem Fall musste ich den Datentyp für Dynamic SQL (Shudder!) sowieso hier ist eine Funktion, die ich erstellt, dass die vollständige Datentyp zurückgibt. Anstatt "decimal" zurückzugeben, würde sie beispielsweise DECIMAL(18,4) zurückgeben: dbo.GetLiteralDataType

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X