• 締切済み

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> 三郎だけが検索条件に適合しないのは何故でしょうか。 よろしくお願いします。

みんなの回答

  • dtabuchi
  • ベストアンサー率20% (1/5)
回答No.2

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

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

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

関連するQ&A