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