質問

MySQLでコマンドラインクエリを実行する場合、オプションでステートメントターミネータとして「 \ G 」を使用できます。また、結果セット列が画面全体に水平にリストされる代わりに、各列がリストされます。垂直方向に、対応するデータを右側に配置します。 DB2コマンドラインユーティリティを使用して、同じまたは類似の方法を実行する方法はありますか?

通常のMySQL結果の例

mysql> select * from tagmap limit 2;
+----+---------+--------+
| id | blog_id | tag_id |
+----+---------+--------+
| 16 |       8 |      1 |
| 17 |       8 |      4 |
+----+---------+--------+

代替MySQL結果の例:

mysql> select * from tagmap limit 2\G
*************************** 1. row ***************************
     id: 16
blog_id: 8
 tag_id: 1
*************************** 2. row ***************************
     id: 17
blog_id: 8
 tag_id: 4
2 rows in set (0.00 sec)

明らかに、これは、列が大きな文字列である場合、または結果セットに多くの列がある場合に非常に役立ちますが、これはおそらく説明できないほどフォーマットが優れていることを示しています。

他のヒント

DB2コマンドラインユーティリティは、常にデータを表形式で表示します。つまり、水平方向の行と垂直方向の列です。 mysqlで行う\ Gステートメントターミネータのような他の形式はサポートしていません。ただし、はい、DB2_WORKLOAD = ANALYTICSが設定されている場合、列編成データをDB2テーブルに保存できます。

db2 => connect to coldb

   Database Connection Information

 Database server        = DB2/LINUXX8664 10.5.5
 SQL authorization ID   = BIMALJHA
 Local database alias   = COLDB

db2 => create table testtable (c1 int, c2 varchar(10)) organize by column
DB20000I  The SQL command completed successfully.
db2 => insert into testtable values (2, 'bimal'),(3, 'kumar')
DB20000I  The SQL command completed successfully.
db2 => select * from testtable

C1          C2        
----------- ----------
          2 bimal     
          3 kumar     

  2 record(s) selected.

db2 => terminate
DB20000I  The TERMINATE command completed successfully.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top