NTEXT
SQL Serverデータベースのすべてのテーブルで特定のタイプ(たとえば)のすべての列を見つけるにはどうすればよいですか?
SQLクエリを探しています。
NTEXT
SQL Serverデータベースのすべてのテーブルで特定のタイプ(たとえば)のすべての列を見つけるにはどうすればよいですか?
SQLクエリを探しています。
回答:
次のクエリを使用してフィールドを返すことができます
SELECT table_name [Table Name], column_name [Column Name]
FROM information_schema.columns where data_type = 'NTEXT'
alter table [tablename] alter column [columnname] nvarchar(max)
。LEN(..)
ntextではなくnvarcharでなどを使用できます。
INNER JOIN INFORMATION_SCHEMA.TABLES t ON c.TABLE_NAME = t.TABLE_NAME AND t.TABLE_TYPE = 'BASE TABLE'
次のステートメントを使用して、バイナリデータ/ファイルを保持できる可能性のあるすべてのテーブルを検索しました。
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' )
)