Hitachi

Hitachi Advanced Data Binder コマンドリファレンス


39.7.2 操作系SQLの場合(SELECT文)

SELECT文を実行した場合,次に示す形式で検索結果が表示されます。

COMMAND ?     +----2----+----3----+----4----+----5----+----6----+----7----+
SELECT 'C1 = ',"C1" FROM "T1";
 EXP0001_NO_NAME C1                                      ...1
 --------------- ----------------                        ...2
           C1 =   -123456789.1234                        ...3
           C1 =  ****************                        ...4
KFAA96404-I 2 rows were selected.                        ...5
KFAA96415-I SQL processing time (Fetch) : 0.477001 sec.  ...6
[説明]
  1. 問合せ式の結果,導出される表の列名が表示されます。導出される表の列名(検索項目列名)については,マニュアルHADB SQLリファレンス操作系SQLSELECT(行の検索)SELECT文の指定形式および規則にある規則を参照してください。

  2. 選択式単位に,ハイフン(-)が連続で表示されます。#SET DUMPMODEON(検索結果を16進形式で表示)を指定した場合は,等号(=)が連続で表示されます。

    ハイフン(-)または等号(=)の数は,検索結果で表示できる幅を示します。次に示す長さのうち,長い方と同じ長さになるように,ハイフン(-)または等号(=)が表示されます。

    ・列のデータを文字形式で表現した場合の最大長

    ・検索項目列名の長さ

  3. 検索結果が表示されます。スカラ関数のデータ変換関数を選択式に指定した場合,マルチバイト文字の右側切り捨てによって,検索結果の表示が乱れることがあります。また,スカラ関数CHRの対象データが127から159の場合も,表示が乱れることがあります。データ変換関数については,マニュアルHADB SQLリファレンススカラ関数データ変換関数を参照してください。

  4. 検索結果がナル値の場合は,ナル値表示文字列が表示されます。ただし,ナル値表示文字列の長さが検索結果のデータの最大長を超える場合は,ナル値表示文字列が途中で切り捨てられます。

    ナル値表示文字列最大長,2.のハイフン(-)または等号(=)が表示される長さと同じです。

    なお,配列型の列については,次のように表示されます。

    • 列値がナル値の場合,2.で説明している長さのナル値表示文字列が表示されます。

    • 配列要素がナル値の場合,各配列要素がコンマ(,)で区切られ,ナル値の配列要素にNULLが表示されます。

  5. 検索結果の行数が表示されます。表示できる行数の上限を超えた場合,アスタリスク(*)が3つ表示されます。

  6. #SET EXECTIME REPORTON(SQL文の実行時間を出力する)を指定した場合は,SQL文の実行時間が出力されます。

検索結果の表示形式を次の表に示します。

表39‒10 検索結果の表示形式

項番

検索結果のデータ型

検索結果の表示形式※1

1

INTEGER

整数データの最も短い定数形式が右詰めで表示されます。

正の数の場合,""符号は表示されません。負の数の場合,""符号が有効データの直前に表示されます。

2

SMALLINT

3

DECIMAL※3

小数点以下は,導出される列の結果の位取り分が右詰めで表示されます。なお,導出される列の結果の位取りが0で,かつ-dオプションを指定しているときは,小数点は出力されません。

整数部分は最も短い形式で表示されます。

正の数の場合,""符号は表示されません。負の数の場合,""符号が有効データの直前に表示されます。

4

NUMERIC※3

5

DOUBLE PRECISION

指数部は最も短い形式で表示されます。仮数部は17桁固定で表示されます。全体は右詰めで表示されます。

正の数の場合,""符号は表示されません。負の数の場合,""符号が有効データの直前に表示されます。

6

FLOAT

7

CHARACTER※5

各データ型の定数形式からアポストロフィ( ' )を除いた形で表示されます。ただし,表示できない文字(X'00'X'1F')はコロン( : )で表示されます。

8

VARCHAR※6

9

DATE※5

日付データの既定の出力表現に従った形式で表示されます。日付データの既定の出力表現については,マニュアルHADB SQLリファレンス既定の文字列表現を参照してください。

10

TIME※5

時刻データの既定の出力表現に従った形式で表示されます。時刻データの既定の出力表現については,マニュアルHADB SQLリファレンス既定の文字列表現を参照してください。

11

TIMESTAMP※5

時刻印データの既定の出力表現に従った形式で表示されます。時刻印データの既定の出力表現については,マニュアルHADB SQLリファレンス既定の文字列表現を参照してください。

12

BINARY※4,※5

選択式にBINARYを指定した場合は,次のどちらかの形式で表示されます。

  • 16進形式

  • 2進形式

13

VARBINARY※4,※6

選択式にVARBINARYを指定した場合は,次のどちらかの形式で表示されます。

  • 16進形式

  • 2進形式

14

ROW※2,※5

選択式にROWを指定した場合は,16進形式で表示されます。

15

ARRAY

配列データは,次の形式で表示されます。

{配列要素1,配列要素2,,配列要素N}

表示規則を次に示します。

  1. 配列要素1配列要素Nの表示形式は,項番1~13で説明している各データ型の表示形式に従います。表示例を次に示します。

    (例)

    • 要素データ型がINTEGER型の場合

      {1,2,3}

    • 要素データ型がVARCHAR型の場合

      {ABC,DEF,GH}

    • 要素データ型がDATE型の場合

      {2020-10-01,2020-11-01,2020-12-01}

  2. 次の条件に該当する配列要素は,二重引用符(")で囲まれて表示されます。※7

    • 要素データ型がCHARACTER型またはVARCHAR型で,配列要素にコンマ(,)が含まれる場合

    • 要素データ型がCHARACTER型またはVARCHAR型で,配列要素がNULLという文字列の場合※8

    • 要素データ型がVARCHAR型またはVARBINARY型で,配列要素の長さが0バイトの場合

    表示例を次に示します。

    (例)

    {ABC,"DE,F","NULL","",GH}

  3. 空の配列データの場合は,次のように表示されます。

    {}

最大要素数が多い場合や,ARRAY_AGG集合関数を使用した場合,表示される検索結果が非常に長くなります。その場合,-sオプションを指定して,SELECT文の実行結果を標準出力にCSV形式で出力してください。

注※1

文字形式に変換できない場合は,データを文字形式で表現したときの最大長の数分の疑問符(?)が表示されます。

注※2

選択式にROWを指定した場合はこのデータ型になります。

注※3

DECIMALまたはNUMERICの精度と位取りが同じ場合,先頭に0が付与されます。ただし,-sオプションを指定した場合で,精度と位取りが38の場合は0は付与されません。

注※4

どちらの形式で表示されるかは,adbsqlコマンドの-bオプション,または#SET BINARY_DISP_MODEの指定に従います。ただし,#SET DUMPMODEON(検索結果を16進形式で表示)を指定した場合は,#SET BINARY_DISP_MODEの指定に関係なく,16進形式で表示されます。

注※5

データを文字形式で表現した場合の最大長が列の最大幅より短いとき,データは列の最大幅に対して右詰めで表示されます。それ以外のときは左詰めで表示されます。

注※6

データを文字形式で表現した場合の最大長が列の最大幅より短いとき,データを文字形式で表現した場合の最大長と列の最大幅との差分の空白が,データの左側に付与されて表示されます。それ以外のときは左詰めで表示されます。

注※7

-sオプションを指定した場合,配列要素は二重引用符("2個で囲まれて出力されます。ただし,配列要素がナル値の場合は,NULL(二重引用符で囲まれない)と出力されます。

注※8

配列要素がNULLという文字列の場合は"NULL"と表示され,配列要素がナル値の場合はNULLと表示されます。