關於SQL中的欄位“包含”與“包含於”字串的寫法,sql欄位

來源:互聯網
上載者:User

關於SQL中的欄位“包含”與“包含於”字串的寫法,sql欄位


1、查詢表中某欄位值“包含”某字串的所有記錄的方法

假如表中有一個name欄位,查詢name包含“張三”的所有記錄,可以這樣寫sql:

Stirng strsql="SELECT * FROM 表名 WHERE name LIKE ’%"+"張三"+"%’";

 2、查詢某欄位值“包含於”某個字串的所有記錄的方法

如果查詢表中name欄位包含於字串“張三是個好學生”的所有記錄,可以這樣寫sql:

String strsql="SELECT * FROM 表名 WHERE INSTR(’張三是個好學生’,name)>0";

即可查詢,記錄中的name欄位值中包括:張、三、是、個、好、學、生、張三、......等所有記錄。

註:以上sql字串中請將全形符號改為半形符號。


怎SQL查詢欄位值包含於字串

用charindex不行嗎?其實很簡單,你的邏輯就是返回的資料要在你所提供的字串裡找到不就行了,你看看這樣行不行:
select * from A
Where
CHARINDEX(substring(value,1,1),'a,b,d,e') <>0
and
CHARINDEX(substring(value,2,1),'a,b,d,e') <>0
and
CHARINDEX(substring(value,3,1),'a,b,d,e') <>0
 
sql語句中尋找某欄位中含有某字串的語句怎寫?

select filename from oa_file where filename like '%?%';
你這句話肯定是沒有問題的——可能出現的問題就是問號和問好也是不一樣的!
比如說英文標點半形的問號是“?”,英文標點全形的問號是“?”
但是中文半形問號是“?”中文全形的問號是“?”
這些都是不一樣的。你搜出來的都是帶有英文半形問號的檔案。
以上為我的想法。
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.