42.5.17 #SET TABLEMODE(検索結果の出力形式の指定)
- 機能
-
検索結果を表形式で出力するかどうかを指定します。
初期値はON(検索結果を表形式で出力)になります。
- 形式
-
#SET TABLEMODE {ON|OFF};
- ON:
-
検索結果を表形式で出力します。
- OFF:
-
検索結果1行に対して,1列分のデータを1行ずつ出力します。例えば,検索結果1行に3列のデータがある場合,検索結果は3行で表示されます。
定義長が長いVARCHAR型やSTRING型の実長部分のデータだけを表示したい場合は,OFFを指定してください。
- 出力形式
-
OFFを指定した場合の出力形式を次に示します。ONを指定した場合の出力形式については,「42.7.2 操作系SQLの場合(SELECT文)」を参照してください。
SELECT "C1", "C2" FROM "T1"; NO DATA+----1----+----2----+----3----+----4----+----5 ...1 1 SV001 ...2 2 100 ...3 NO DATA+----1----+----2----+----3----+----4----+----5 ...4 1 SV002 ...5 2 ************************************************** ...6 KFAA96404-I 2 rows were selected. ...7 KFAA96415-I SQL processing time (Fetch) : 0.477001 sec. ...8[説明]
-
列番号とデータの定型文が表示されます。
-
列番号「1」と検索結果の1行目の1列目のデータが表示されます。列番号は右詰めで表示され,データは左詰めで表示されます。データ型ごとのデータの文字形式は「表42‒7 各データ型の文字形式」を参照してください。
-
列番号「2」と検索結果の1行目の2列目のデータが表示されます。列番号は右詰めで表示され,データは左詰めで表示されます。データ型ごとのデータの文字形式は「表42‒7 各データ型の文字形式」を参照してください。
-
列番号とデータの定型文が表示されます。
-
列番号「1」と検索結果の2行目の1列目のデータが表示されます。列番号は右詰めで表示され,データは左詰めで表示されます。データ型ごとのデータの文字形式は「表42‒7 各データ型の文字形式」を参照してください。
-
列番号「2」と検索結果の2行目の2列目のデータが表示されます。検索結果がナル値の場合は,ナル値表示文字列が表示されます。ただし,ナル値表示文字列の長さが50バイトを超える場合は,ナル値表示文字列が途中で切り捨てられます。
なお,配列型の列については,次のように表示されます。
-
列値がナル値の場合,50バイトまでのナル値表示文字列が表示されます。
-
配列要素がナル値の場合,各配列要素がコンマ(,)で区切られ,ナル値の配列要素にNULLが表示されます。
-
-
検索結果の行数が表示されます。表示できる行数の上限を超えた場合,アスタリスク(*)が3つ表示されます。
-
#SET EXECTIME REPORTでON(SQL文の実行時間を出力する)を指定した場合は,SQL文の実行時間が出力されます。
検索結果を表示する各データ型の文字形式を次の表に示します。
表42‒7 各データ型の文字形式 項番
検索結果のデータ型
データ型の文字形式※1
1
BIGINT
整数データの最も短い定数形式が表示されます。
正の数の場合,"+"符号は表示されません。負の数の場合,"−"符号が有効データの直前に表示されます。
2
INTEGER
3
SMALLINT
4
DECIMAL※3
小数点以下は,導出される列の結果の位取り分が表示されます。なお,導出される列の結果の位取りが0で,かつ-dオプションを指定しているときは,小数点は出力されません。
整数部分は最も短い形式で表示されます。
正の数の場合,"+"符号は表示されません。負の数の場合,"−"符号が有効データの直前に表示されます。
5
NUMERIC※3
6
DOUBLE PRECISION
指数部は最も短い形式で表示されます。仮数部は17桁固定で表示されます。
正の数の場合,"+"符号は表示されません。負の数の場合,"−"符号が有効データの直前に表示されます。
7
FLOAT
8
REAL
9
CHARACTER
各データ型の定数形式からアポストロフィ( ' )を除いた形で表示されます。ただし,表示できない文字(X'00'〜X'1F')はコロン( : )で表示されます。
10
VARCHAR
11
STRING
12
DATE
日付データの既定の出力表現に従った形式で表示されます。日付データの既定の出力表現については,マニュアルHADB SQLリファレンスの既定の文字列表現を参照してください。
13
TIME
時刻データの既定の出力表現に従った形式で表示されます。時刻データの既定の出力表現については,マニュアルHADB SQLリファレンスの既定の文字列表現を参照してください。
14
TIMESTAMP
時刻印データの既定の出力表現に従った形式で表示されます。時刻印データの既定の出力表現については,マニュアルHADB SQLリファレンスの既定の文字列表現を参照してください。
15
BINARY※4
選択式にBINARYを指定した場合は,次のどちらかの形式で表示されます。
-
16進形式
-
2進形式
16
VARBINARY※4
選択式にVARBINARYを指定した場合は,次のどちらかの形式で表示されます。
-
16進形式
-
2進形式
17
BOOLEAN
論理データの既定の出力表現に従った形式で表示されます。論理データの既定の出力表現については,マニュアルHADB SQLリファレンスの既定の文字列表現を参照してください。
18
UUID
UUIDデータの既定の出力表現に従った形式で表示されます。UUIDデータの既定の出力表現については,マニュアルHADB SQLリファレンスの既定の文字列表現を参照してください。
19
ROW※2
選択式にROWを指定した場合は,16進形式で表示されます。
20
ARRAY
配列データは,次の形式で表示されます。
{配列要素1,配列要素2,…,配列要素N}
表示規則を次に示します。
-
配列要素1~配列要素Nの表示形式は,項番1~16で説明している各データ型の表示形式に従います。表示例を次に示します。
(例)
-
要素データ型がINTEGER型の場合
{1,2,3}
-
要素データ型がVARCHAR型の場合
{ABC,DEF,GH}
-
要素データ型がDATE型の場合
{2020-10-01,2020-11-01,2020-12-01}
-
-
次の条件に該当する配列要素は,二重引用符(")で囲まれて表示されます。※5
-
要素データ型がCHARACTER型,VARCHAR型,またはSTRING型で,配列要素にコンマ(,)が含まれる場合
-
要素データ型がCHARACTER型,VARCHAR型,またはSTRING型で,配列要素がNULLという文字列の場合※6
-
要素データ型がVARCHAR型,STRING型,またはVARBINARY型で,配列要素の長さが0バイトの場合
表示例を次に示します。
- (例)
-
{ABC,"DE,F","NULL","",GH}
-
-
空の配列データの場合は,次のように表示されます。
{}
最大要素数が多い場合や,ARRAY_AGG集合関数を使用した場合,表示される検索結果が非常に長くなります。その場合,-sオプションを指定して,SELECT文の実行結果を標準出力にCSV形式で出力してください。
- 注※1
-
文字形式に変換できない場合は,データを文字形式で表現したときの最大長の数分の疑問符(?)が表示されます。
- 注※2
-
選択式にROWを指定した場合はこのデータ型になります。
- 注※3
-
DECIMAL型またはNUMERIC型の精度と位取りが同じ場合,先頭に0が付与されます。ただし,-sオプションを指定した場合で,精度と位取りが38の場合は0は付与されません。
- 注※4
-
どちらの形式で表示されるかは,adbsqlコマンドの-bオプション,または#SET BINARY_DISP_MODEの指定に従います。ただし,#SET DUMPMODEでON(検索結果を16進形式で表示)を指定した場合は,#SET BINARY_DISP_MODEの指定に関係なく,16進形式で表示されます。
- 注※5
-
-sオプションを指定した場合,各配列要素は二重引用符(")2個で囲まれて出力されます。ただし,配列要素がナル値の場合は,NULL(二重引用符で囲まれない)と出力されます。
- 注※6
-
配列要素がNULLという文字列の場合は"NULL"と表示され,配列要素がナル値の場合はNULLと表示されます。
-
- 留意事項
-
adbsqlコマンド開始時に-sオプションを指定した場合,#SET TABLEMODEは実行できません。