みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

SQLiteのLike句で抽出できない

SQLiteのLike句で抽出できないレコードがあります。
原因についてご教授いただけますでしょうか。
以下、操作手順になります。

■データベースの作成
C:\>sqlite3.exe member.db
SQLite version 3.7.15.2 2013-01-09 11:53:05
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

■テーブルの作成、レコードの追加
sqlite> create table t_member(name text, age integer);
sqlite> insert into t_member values('山田一郎', 25);
sqlite> insert into t_member values('田中次郎', 35);
sqlite> insert into t_member values('鈴木三郎', 45);

■検索
sqlite> select * from t_member where name like '%一郎';
山田一郎|25
sqlite> select * from t_member where name like '%次郎';
田中次郎|35
sqlite> select * from t_member where name like '%三郎';
sqlite>

三郎だけが検索条件に適合しないのは何故でしょうか。
よろしくお願いします。

投稿日時 - 2013-01-18 19:45:42

QNo.7898327

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

WindiwsのコマンドプロンプトはShiftJisだったと思いますが、SQLiteはUTF-8,16だったと思います。
インプットにGUIツール(PupSQLiteなど)を使ってはいかがでしょうか?

投稿日時 - 2013-02-12 23:45:19

ANo.1

Vmware Player上のUbuntuのSqlite3では再現しませんでした。
Windows7では再現します。
cygwinでも再現しました。
どうもWindowsの文字コードとsqlite3の内部コードの変換処理でバグがあるようです。

投稿日時 - 2013-01-26 09:04:35

あなたにオススメの質問