0

have a good day" ! @ # $ % ^ & * ( ) 'SQLiteデータベースに保存したこの文字を検索する必要があるため、このSQLを使用しました

Select ID From Tasks Where '--' || task || '--' || prio || '--' || due_date ||
'--' ||  [category] || '--' ||  note || '--'  LIKE 
'%have a good day" ! @ [#] [$] \% ^ & * ( ) ''%'  ESCAPE '\' 

私はいくつかのエスケープ手法を使用しましたが、sqlite はそれを見つけることができません。sqlite データベースを検索するときにこれらの特殊文字を適切にエスケープする方法

4

1 に答える 1

2

LIKEではなく、を使用していGLOBます。エスケープが必要な文字は%とだけ_です。

さらに、NULLテーブル内の値はすべてLIKE失敗するため、可能なNULLs を別のものに変換する必要があります。

Select ID
From Tasks
Where '--' || ifnull(task, '') ||
      '--' || ifnull(prio, '') ||
      '--' || ifnull(due_date, '') ||
      '--' || ifnull(category, '') ||
      '--' || ifnull(note, '') || '--'
      LIKE '%have a good day" ! @ # $ \% ^ & * ( ) ''%' ESCAPE '\'
于 2013-09-27T07:11:33.253 に答える