亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解,在數據庫mysql中,關于模糊查詢like'%中文%'?詳細情況如下所示

求解,在數據庫mysql中,關于模糊查詢like'%中文%'?詳細情況如下所示

HUWWW 2021-06-02 11:07:06
mysql 模糊查詢like'%中文%' 在本地和服務器運行sql語句都沒有問題 在UltraEdit顯示的也是中文 可是通過UltraEdit運行模糊查詢中的%中文%'就亂碼 查詢不了值是怎么回事UltraEdit格式已經設置成unix了 在網上看了好多解答辦法都沒有用
查看完整描述

2 回答

?
阿晨1998

TA貢獻2037條經驗 獲得超6個贊

1,%:表示任意0個或多個字符??善ヅ淙我忸愋秃烷L度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
將會把u_name為“張三”,“張貓三”、“三腳貓”,“唐三藏”等等有“三”的記錄全找出來。
另外,如果需要找出u_name中既有“三”又有“貓”的記錄,請使用and條件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%貓%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%貓%'

雖然能搜索出“三腳貓”,但不能搜索出符合條件的“張貓三”。

2,_: 表示任意單個字符。匹配單個任意字符,它常用來限制表達式的字符長度語句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”這樣u_name為三個字且中間一個字是“三”的;

再比如 SELECT * FROM [user] WHERE u_name LIKE '三__'; 只找出“三腳貓”這樣name為三個字且第一個字是“三”的;

3,[ ]:表示括號內所列字符中的一個(類似正則表達式)。指定一個字符、字符串或范圍,要求所匹配對象為它們中的任一個。
比如 SELECT * FROM [user] WHERE u_name LIKE '[張李王]三' 將找出“張三”、“李三”、“王三”(而不是“張李王三”);
如 [ ] 內有一系列字符(01234、abcde之類的)則可略寫為“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]' 將找出“老1”、“老2”、……、“老9”;

4,[^ ] :表示不在括號所列之內的單個字符。其取值和 [] 相同,但它要求所匹配對象為指定字符以外的任一個字符。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^張李王]三' 將找出不姓“張”、“李”、“王”的“趙三”、“孫三”等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]'; 將排除“老1”到“老4”,尋找“老5”、“老6”、……

5,查詢內容包含通配符時
由于通配符的緣故,導致我們查詢特殊字符“%”、“_”、“[”的語句無法正常實現,而把特殊字符用“[ ]”括起便可正常查詢。據此我們寫出以下函數:
function sqlencode(str) str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';此句一定要在最先 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function



查看完整回答
反對 回復 2021-06-07
?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

1、如果你什么也沒有輸入的話,sql語句就如下:
select * from tablename where name like '%%';
這樣的話就是 name 等于任何字符都會被查出,當然所有內容都會出來了。

2、這不是問題,從查詢的設計角度看,什么都不輸入自然是要匹配所有數據,相反輸入了東西就是匹配它了。

*****************
補充:
*****************
如果你想什么都不輸入的時候什么也不返回的話方法如下:
在后臺寫兩個sql,類似如下
if ($name == ""){
$exec="select * from tablename where 1=2";
}else{
$exec="select * from tablename where name like '%$name%'";
}

---
以上,希望對你有所幫助。

查看完整回答
反對 回復 2021-06-07
  • 2 回答
  • 0 關注
  • 599 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號