1

大文字と小文字のみが異なる次の 2 つのテーブルを作成します。

テーブル.sql:

CREATE TABLE T1 (C1 INTEGER);
INSERT INTO T1 VALUES (1);
CREATE TABLE "t1" (C1 INTEGER);
INSERT INTO "t1" VALUES (2);
CREATE TABLE T2 (C1 INTEGER, "c1" integer);
INSERT INTO T2 VALUES (3, 4);

指示

db2 -tvf tables.sql

CLP から直接テーブルを照会したい場合、2 つのタイプのケースを区別できません。テーブル T1 に対してクエリを実行し、テーブル t1 に対して別のクエリを実行するにはどうすればよいですか。列 C1 と c1 の両方で同じですか?

4

2 に答える 2

1

Windows で CLP からこれらのテーブルを照会するには、次のことを行う必要があります。

テーブル T1 (最も単純なもの) の場合:

db2 select * from T1

または(これは*のため、Linuxでの方法です)

db2 "select * from T1"

テーブル t1 の場合

db2 "select * from ""t1"""

列が似ているため

db2 select C1 from T2

他の人のために

db2 "select ""c1"" from T2"

コマンド全体が引用符で囲まれていることを確認してください。このコマンドを発行すると、次のようになります。

db2 select ""c1"" from T2

代わりに C1 を返します。このコマンドも同様です:

db2 select * from ""t1""

T1 が返されます。

于 2012-10-17T15:08:41.117 に答える
0

LinuxシェルでCLPを使用している場合、シェルは引用符を解釈して削除します。Linux / Unixでは、バックスラッシュで引用符をエスケープします

db2 "INSERT INTO \"t1\" VALUES (...)"
于 2012-10-18T11:54:43.293 に答える