有時表中的某個字段的值有空格、有大寫小寫的,還有全角半角的,這些數據格式是固定,不可更改。這是如果只輸入小寫或全角就會搜不到半角的。兩種方案可供選擇。
第一種,可以新建字段去掉查找字段的空格、統一轉大寫或小寫,統一轉全角或半角插入表中,查找比較方便,但是會增加表的大小。
第二種,改變sql語句查找,如下:
1、忽略空格
SELECT * FROM 表名 WHERE REPLACE(你的字段名,' ','') like '%input%'
2、忽略全半角
全角--指一個字符佔用兩個標準字符位置。
半角--指一字符佔用一個標準的字符位置。
將input轉全角或半角後再查一次
SELECT * FROM 表名 WHERE REPLACE(你的字段名,' ','') like '%input%' or WHERE REPLACE(你的字段名,' ','') like '%ToSBC(input)%'
3、忽略大小寫
SELECT * FROM 表名 WHERE REPLACE(你的字段名 ,' ','') = '15jgx' COLLATE NOCASE,sqlite支持查詢ASCLL字符忽略大小寫,但是不支持查詢寬字符忽略大小寫
閱讀更多 潘江 的文章