在查詢控件上怎么使用SQL的模糊查詢?
網(wǎng)友解答: 模糊查詢其實就是SQL語句的關(guān)鍵字“l(fā)ike”的使用。SQL查詢分為完整查詢和模糊查詢,主要區(qū)別在于對查詢字段的匹配程度,完整查詢要求完全匹配,而模糊查詢則要求部分匹配。我們
模糊查詢其實就是SQL語句的關(guān)鍵字“l(fā)ike”的使用。
SQL查詢分為完整查詢和模糊查詢,主要區(qū)別在于對查詢字段的匹配程度,完整查詢要求完全匹配,而模糊查詢則要求部分匹配。
我們舉個例子。假設(shè)有人員表,表名person,表里包含姓名(p_name),性別(p_sex),出生日期(p_birthday)等字段。括號內(nèi)為字段名。表內(nèi)有大量人員信息。
1,完整查詢,比如我們想查詢姓名為張小海的人員,查詢語句為
select * from peeson where p_name='張小海'
如果表內(nèi)有張小海的記錄,則返回張小海信息,否則返回空。
2,模糊查詢,比如我們想查詢姓名中包含海字的人員,查詢語句為
select * from person where p_name like '%海%'
運行語句,將會返回所有姓名中含海字的人員,張小海,張大海,劉海,趙海明,海公公等等信息。
SQL查詢like關(guān)鍵字有四種匹配方式。
1.%,代表任意長度的字符。
2._,代表任意一個字符。
select * from person where p_name like '_海'
運行后返回姓名是兩個字,最后一個字是海的所有人員。
3.[],代表中括號內(nèi)所列字符中的一個。
select * from person where p_name like '[張王李趙]海'
運行后,如果記錄有的話,返回張海,王海,李海,趙海。
4.[^],代表不包含中括號內(nèi)所列字符中的一個,和[]相對應(yīng)。
select * from person where p_name like '[^張王李趙]海'
運行后將返回劉海,高海等等,不包含張王李趙這四個姓。