Q. LIKE '\%%'
Red Hat 9 で PostgreSQL を学習してます。
PostgreSQL は Red Hat 9 の CD に含まれていた
rpm パッケージでインストールしました。
PostgreSQL のバージョンは 7.3.2-3 です。
LIKE の勉強中に、納得できないことがあり悩んでます。
psql で以下のような操作を行いました。
最後の DELETE コマンドは、
%から始まる str を持つ行を削除したかったのですが、
全ての行が削除されてしまいます。
%から始まる str を持つ行を削除するには、
この方法は誤りですか?
それとも PostgreSQL のバグですか?
test=> CREATE TABLE tbl_name ( str CHAR(8) );
CREATE TABLE
test=> INSERT INTO tbl_name VALUES ( 'abc' );
INSERT 17056 1
test=> INSERT INTO tbl_name VALUES ( '%z' );
INSERT 17057 1
test=> INSERT INTO tbl_name VALUES ( 'xyz' );
INSERT 17058 1
test=> SELECT * FROM tbl_name;
str
----------
abc
%z
xyz
(3 rows)
test=> DELETE FROM tbl_name WHERE str LIKE '\%%';
DELETE 3
-- K.Yamamoto
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735