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。唯一需要转义的字符是%and _

此外,NULL表中的任何值都会导致LIKE失败,因此您必须将任何可能NULL的 s 转换为其他值:

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 回答