• ベストアンサー

SQLITE3のSELECT文で『%』をエスケープするには

■環境 WinXP Sqlite3 ■質問 『%』と言う文字を含むカラム名が取り出せません。 INSERT時には、\%としてエスケープ出来たのですが SELECT時\%としても unrecognized token: "\" と言うエラーが出てしまいます。 手がかりになる情報をお持ちの方教えて頂けませんでしょうか?

質問者が選んだベストアンサー

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

たとえば項目名が「zennen%」なら、項目名をすべてダブルクォーテーション で括ってください("zennen%"のように)。 個人的には多少冗長でも「percnet」にするほうを選びますが。

akaginoyama
質問者

お礼

せっかく教えて頂いたのですが、別のやり方で処理しました 修正する余裕が無いので、頂いた情報を確認できておりません が回答には大変感謝しております。 次回同じ状況になった際に試してみたいと思います。 今回は、%を別の文字に置換え、表示の際に戻すと言う方法で 回避しました。 時間が取れずに返事が遅れて申しわけありませんでした。

その他の回答 (1)

  • hegemon
  • ベストアンサー率72% (21/29)
回答No.1

'%'はLIKEなどでワイルドカードとして使うので、SELECT文では問題になるのでしょう。 SQLite3は使ったことがないので不明なのですが、SQL Serverなどでは下記のようにして指定できたはずです。 [tableName].[column%Name]

akaginoyama
質問者

お礼

回答ありがとうございます。 せっかく教えて頂いたのですが、うまくいかず %を別の文字に置換え、表示の際に戻すと言う方法で 回避しました。 時間が取れずに返事が遅れて申しわけありませんでした。

関連するQ&A