[sql] SQL Server 데이터베이스의 모든 테이블에서 특정 유형의 모든 열 찾기

NTEXTSQL Server 데이터베이스의 모든 테이블에서 특정 유형 (예 :)의 모든 열을 찾으려면 어떻게 해야합니까?

SQL 쿼리를 찾고 있습니다.



답변

다음 쿼리를 사용하여 필드를 반환 할 수 있습니다.

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


답변

INFORMATION_SCHEMA가 필요합니다. 다음과 같이 시도하십시오.

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'


답변

또한 시도 할 수 있습니다

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


답변

시스템보기를 사용할 수 있습니다 INFORMATION_SCHEMA.COLUMNS. data_type열은 당신을 위해 무엇을 찾고있다.


답변

이진 데이터 / 파일을 저장할 수있는 모든 테이블을 찾기 위해 다음 문을 사용했습니다.

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' )
            )


답변