2012-03-13 14 views

risposta

68

È possibile utilizzare seguente query per restituire i campi

SELECT table_name [Table Name], column_name [Column Name] 
FROM information_schema.columns where data_type = 'NTEXT' 
+0

Sono inoltre previsti vista – Daniel

2

È possibile utilizzare la vista di sistema INFORMATION_SCHEMA.COLUMNS. La colonna data_type ha quello che stai cercando.

9

Avrai bisogno di INFORMATION_SCHEMA. Provare qualcosa di simile:

SELECT c.* from INFORMATION_SCHEMA.columns c 
INNER JOIN INFORMATION_SCHEMA.tables t ON t.table_name = c.table_name 
WHERE c.data_type = 'int' AND t.table_type = 'base table' 
2

ho usato la seguente dichiarazione per trovare tutte le tabelle che potrebbe contenere dati binari/file.

SELECT 
    table_name 
FROM 
    INFORMATION_SCHEMA.TABLES T 
WHERE 
    T.TABLE_CATALOG = 'MyDatabase' AND 
    EXISTS ( 
     SELECT * 
     FROM INFORMATION_SCHEMA.COLUMNS C 
     WHERE 
      C.TABLE_CATALOG = T.TABLE_CATALOG AND 
      C.TABLE_SCHEMA = T.TABLE_SCHEMA AND 
      C.TABLE_NAME = T.TABLE_NAME AND 
      (C.DATA_TYPE = 'binary' OR 
      C.DATA_TYPE = 'varbinary' OR 
      C.DATA_TYPE = 'text' OR 
      C.DATA_TYPE = 'ntext' OR 
      C.DATA_TYPE = 'image') 
      ) 
3

Inoltre si può provare

SELECT OBJECT_NAME(c.OBJECT_ID) TableName, c.name ColumnName 
FROM sys.columns AS c 
JOIN sys.types AS t ON c.user_type_id=t.user_type_id 
WHERE t.name = 'ntext' 
ORDER BY c.OBJECT_ID; 
GO 
Problemi correlati