DB2

DB2 Tips

バージョンを確認する
SELECT SYSTEM_NAME, OS_VERSION 
FROM QSYS2.SYSPARTITIONSTAT;
NULLと0バイトの空文字の違い

DB2では colum_a =” と colum_a is null は異なる意味です。 ” は「0バイトの空文字」と言う意味でNULLとは異なる概念です。

column_acolumn_a = ''column_a IS NULL
NULL
‘abc’
テーブルカラムのコメントを表示
SELECT COLUMN_NAME, COLUMN_TEXT
FROM QSYS2.SYSCOLUMNS
WHERE TABLE_SCHEMA = 'TBL_NAME'
AND TABLE_NAME = 'SCHEMA_NAME';
テーブル名から保有スキーマを調べる
SELECT * FROM SYSIBM.TABLES WHERE NAME = 'TBL_NAME'
;
テーブルを構成するカラム一覧の取得
SELECT 
 TABLE_CATALOG
,TABLE_SCHEMA
,TABLE_NAME
,COLUMN_NAME
,DATA_TYPE
,COLUMN_DEFAULT
,CHARACTER_MAXIMUM_LENGTH
,CHARACTER_OCTET_LENGTH
,NUMERIC_PRECISION
,NUMERIC_PRECISION_RADIX
,NUMERIC_SCALE
,CHARACTER_SET_NAME
FROM SYSIBM.COLUMNS
WHERE TABLE_SCHEMA = 'SCHEMA_NAME'
AND TABLE_NAME IN( 'TBL01','TBL02','TBL03' )
;
テーブル一覧
SELECT table_catalog,table_schema,table_name,table_type FROM SYSIBM.TABLES t 
where table_name like'TBL_%'
;
テーブル名からインデックスを調べる
例1 QSYS2.SYSTABLEINDEXSTAT
SELECT INDEX_NAME, COLUMN_NAMES FROM QSYS2.SYSTABLEINDEXSTAT 
WHERE TABLE_SCHEMA = 'SCHEMA_NAME' AND TABLE_NAME LIKE 'TBNAME_%'
ORDER BY INDEX_NAME
;
例2 QSYS2.SYSINDEXSTAT
select * from QSYS2.SYSINDEXSTAT where table_name ='TBL_NAME'
;
例3 QSYS2.SYSINDEXES
select * from QSYS2.SYSINDEXES where table_name ='TBL_NAME'
;
接続先確認SQL(ホスト名出力)
SELECT HOST_NAME FROM SYSIBMADM.ENV_SYS_INFO
;
スポンサーリンク
タイトルとURLをコピーしました