Microsoft SQL serverに該当テーブルが存在するか確認するかどうか。
特定のテーブルに該当する行が存在するかどうか検索して確認するためのSQL文のメモをまとめました。
スポンサーリンク
目次
SQL serverに該当テーブルが存在するか検索するSQL文
[テーブル名]の部分を変更するだけで使えます。
SELECT *
FROM sys.tables
WHERE name = '[テーブル名]'
FROM sys.tables
WHERE name = '[テーブル名]'
SQL serverの特定のテーブルに該当列が存在するか検索するSQL文
[テーブル名]、[列名]の部分を変更するだけで使えます。
SELECT sys.columns.*
FROM sys.columns
INNER JOIN sys.tables
ON sys.columns.object_id = sys.tables.object_id
WHERE sys.tables.name = '[テーブル名]'
AND sys.columns.name = '[列名]'
FROM sys.columns
INNER JOIN sys.tables
ON sys.columns.object_id = sys.tables.object_id
WHERE sys.tables.name = '[テーブル名]'
AND sys.columns.name = '[列名]'
SQL serverの特定のテーブルの特定の列のデータ型を確認するSQL文
[テーブル名]、[列名]の部分を変更するだけで使えます。
SELECT sys.columns.name, sys.types.name, sys.columns.max_length
FROM sys.types
INNER JOIN sys.columns
ON sys.columns.system_type_id = sys.types.system_type_id
AND sys.columns.user_type_id = sys.types.user_type_id
INNER JOIN sys.tables
ON sys.columns.object_id = sys.tables.object_id
WHERE sys.tables.name = '[テーブル名]'
AND sys.columns.name = '[列名]'
FROM sys.types
INNER JOIN sys.columns
ON sys.columns.system_type_id = sys.types.system_type_id
AND sys.columns.user_type_id = sys.types.user_type_id
INNER JOIN sys.tables
ON sys.columns.object_id = sys.tables.object_id
WHERE sys.tables.name = '[テーブル名]'
AND sys.columns.name = '[列名]'
以下の項目を取得するようにしました。
sys.columns.name:列名(確認のため)
sys.types.name:データ型
sys.columns.max_length:データサイズ(nvarcharなどでサイズ指定してあるときのため)
sys.types.name:データ型
sys.columns.max_length:データサイズ(nvarcharなどでサイズ指定してあるときのため)