5

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)

明らかに、列が大きな文字列の場合、または結果セットに多数の列がある場合、これははるかに便利ですが、これはおそらく私が説明できるよりも優れたフォーマットを示しています。

4

3 に答える 3

2

このようなオプションは、DB2コマンドラインクライアントでは使用できないと思います。いくつかの提案については、 http://www.dbforums.com/showthread.php?t=708079を参照してください。DB2コマンドラインクライアントに関するより一般的な情報については、IBMDeveloperWorksの記事DB2のコマンドラインプロセッサとスクリプティングを参照してください。

于 2008-10-02T06:55:40.227 に答える
-2

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.
于 2014-12-23T10:56:45.133 に答える