sql 匹配 _ 和 %
sql的模式匹配允許你使用「」匹配任何單個字元,而「%」匹配任意數目字元(包括零個字元)。在 mysql中,sql的模式預設是忽略大小寫的。
注意在你使用sql模式時,你不能使用=或!=;而使用like或not like比較操作符。
語法:select 字段 from 表 where 某欄位 like 條件
其中關於條件,sql提供了兩種種匹配模式:
1. 百分號(%):示任意個或多個字元,可匹配任意型別和長度的字元。
示例1:select * from character where name like 『%孫%』;即匹配e姓名為「孫行者」,「行者孫,「行者孫」三行資料
示例2:select * from character where name like 『%孫%』 and name like 『%行%』; 即匹配姓名為「孫行者」,「行者孫,「行者孫」三行資料
示例3:select * from character where name like 『%孫%行%『;只能匹配姓名為「孫行者」一行資料
注意示例2和示例3的區別
2.下劃線():表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句:(可以代表乙個中文字元)
示例1:select * from character where name like 『三』;即把姓名為「唐三藏」的一行資料
示例2:select * from character where name like 『_三』;即把姓名為「唐三」一行資料
拆詞 api
使用正規表示式代替 like or
下面的方式效率較低,要對 tt.tt 列進行多次的 like 查詢
select * from tt where tt.tt like 『%鋼筋%』 or tt.tt like 『%混凝土%』 or tt.tt like 『%預應力%』 or tt.tt like 『%管樁%』
mysql 支援對列的正規表示式方式查詢。
select * from tt where tt.tt regexp 『鋼筋|混凝土|預應力』
權重搜尋
權重搜尋涉及到幾個mysql 函式。
locate(『鋼筋』,tt.tt) : 查詢鋼筋在 tt.tt 列出現的位置,0 表示未找到。否則返回 座標位置,座標位置從1開始。
mysql 中 0 可以理解為 false 。 非0 數字可以理解為true
if( 表示式 , 1 , 0) : 判斷表示式結果, true 則返回 1 , false 則返回0
demo
select * , ( if(locate(『鋼筋』,tt.tt) , 1, 0) + if(locate(『混凝土』,tt.tt) , 1, 0) + if(locate(『預應力』,tt.tt) , 1, 0) ) as weight from tt where
tt.tt regexp 『鋼筋|混凝土|預應力』 order by weight desc
select * , ( if(locate(『鋼筋』,tt.tt) , 1, 0) + if(locate(『管樁』,tt.tt) , 9, 0) + if(locate(『預應力』,tt.tt) , 1, 0) ) as weight from tt where
tt.tt regexp 『鋼筋|混凝土|預應力』 order by weight desc
MySQL 權重搜尋
sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。注意在你使用sql模式時,你不能使用 或!而使用like或not like比較操作符。語法 select 字段 from 表 where 某欄位 like 條件 其中關...
京東搜尋權重新規 京東搜尋權重衰退模型解讀
商品無緣無故排名自動掉到第二頁或者其他頁面了,是權重衰退的模型在干擾,京東整體的綜合得分是根據週期計算的,因為搜尋反饋是一直累計的,限制搜尋反饋是按照週期來計算。一起去了解一下吧!龐大的搜尋大資料,終於官宣了自己的最新模型了,這個模型可能讓大家雙十一過的有競爭力,您再也不用擔心倚老賣老了,新品依然有...
搜尋引擎如何計算權重
讀者可能已經發現了又乙個漏洞。在上面的例子中,詞 的 站了總詞頻的 80 以上,而它對確定網頁的主題幾乎沒有用。我們稱這種詞叫 應刪除詞 stopwords 也就是說在度量相關性是不應考慮它們的頻率。在漢語中,應刪 除詞還有 是 和 中 地 得 等等幾十個。忽略這些應刪除詞後,上述網頁的相似度就變成...