帆软模糊查询
模糊查詢是利用“_”表示單個字符和“%”表示任意個字符進行匹配的。一些常見的格式如下:
2.1 "%":表示任意0個或多個字符
注:可匹配任意類型和長度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。
Select * from 表名 where 列名 like '%'; //查詢出全部
Select * from 表名 where 列名 like 'x'; //完全匹配查詢
Select * from 表名 where 列名 like '%x'; //右為x,前面可以有任意位字符
Select * from 表名 where 列名 like 'x%'; //左為x,后面可以有任意位字符
Select * from 表名 where 列名 like '%x%'; //中間為x,左右都可以有任意位字符
2.2 "_":表示單個字符
Select * from 表名 where 列名 like '_x'; //右為x,前面有一位字符 Select * from 表名 where 列名 like '__x'; //右為x,前面有兩位位字符 Select * from 表名 where 列名 like 'x__'; //左為x,后面有兩位位字符
2.3 "[]":表示括號內所列字符中的一個
指定一個字符、字符串或范圍,要求所匹配對象為它們中的任一個。
Select *?from 表名 where 列名 like '[張李王]三' //將找出“張三”,“李三”,“王三”(而不是“張李王三”); 注:如 [ ] 內有一系列字符(01234、abcde之類的)則可略寫為“0-4”、“a-e”
Select *?from 表名 where 列名 like ?'老[1-9]' ?//將找出“老1”,“老2”,……,“老9”; 2.4 "[^]":表示不再括號列中的單個字符 其取值與[]相同,但它要求所匹配對象為指定字符意外的任一字符。 Select *?from 表名 where 列名 like '[^張李王]三' ?//將找出不姓“張”,“李”,“王”的“趙三”,“孫三”等;
Select * from 表名 where 列名 like '老[^1-4]'; ?//將排除“老1”到“老4”,尋找“老5”,“老6”、…… 2.5 結合參數的模糊查詢 注:由于通配符的緣故,導致我們查詢特殊字符“%”、“_”、“[”的語句無法正常實現,而把特殊字符用“[ ]”括起便可正常查詢。 結合參數的模糊查詢(用${name}): Select?*?from?表名?where?列名?like?'${name}';
Select?*?from?表名?where?列名?like?'%${name}';
以此類推。? 注:ACCESS的模糊查詢比較特殊是'?','*' 。 如 Select * from 表名 where 列名 like '*b*' 與50位技術專家面對面20年技術見證,附贈技術全景圖
Select *?from 表名 where 列名 like '[張李王]三' //將找出“張三”,“李三”,“王三”(而不是“張李王三”); 注:如 [ ] 內有一系列字符(01234、abcde之類的)則可略寫為“0-4”、“a-e”
Select *?from 表名 where 列名 like ?'老[1-9]' ?//將找出“老1”,“老2”,……,“老9”; 2.4 "[^]":表示不再括號列中的單個字符 其取值與[]相同,但它要求所匹配對象為指定字符意外的任一字符。 Select *?from 表名 where 列名 like '[^張李王]三' ?//將找出不姓“張”,“李”,“王”的“趙三”,“孫三”等;
Select * from 表名 where 列名 like '老[^1-4]'; ?//將排除“老1”到“老4”,尋找“老5”,“老6”、…… 2.5 結合參數的模糊查詢 注:由于通配符的緣故,導致我們查詢特殊字符“%”、“_”、“[”的語句無法正常實現,而把特殊字符用“[ ]”括起便可正常查詢。 結合參數的模糊查詢(用${name}): Select?*?from?表名?where?列名?like?'${name}';
Select?*?from?表名?where?列名?like?'%${name}';
以此類推。? 注:ACCESS的模糊查詢比較特殊是'?','*' 。 如 Select * from 表名 where 列名 like '*b*' 與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
- 上一篇: 帆软正则表达式定义规则
- 下一篇: ERP实施心得