php中怎樣實現sql字段包含于字符串?
謝謝邀請!
sql語法支持樓主所說的功能:輸入一個字符串,匹配字符串中的某些字段,模糊查詢,關于模糊匹配的格式,樓主可以隨便查詢下SQL語法都能找到,select * from tbl_user where staus like '%頭痛2日%'; 式如下:select 字段 from 表 where 某字段 like 條件,其中關于條件,sql提供了以下幾種匹配模式:
(1)、%:表示零個或多個字符。
可以匹配任意類型和任意長度的字符,有些情況下若是中文,請使用兩個百分號(%%)表示。比如:select * from tbl_user where staus like '%頭痛2日%'; 將會把tbl_user這張表里面,列名status中含有“頭痛2日”的記錄全部查詢出來。
(2)、_:表示任意單個字符。匹配單個任意字符,它常用來限制表達式的字符長度。
比如select * from ftbl_user where status like __頭通2日; 只能找到類似“某某頭通2日”這樣的癥狀記錄。
(3)、[]:表示括號內所列字符中的一個(類似正則表達式)。指定一個字符、字符串或范圍,要求所匹配的對象為他們中的任一個。比如select * from tbl_user where status like '[頭眼耳]痛';將找出“頭痛”“眼痛”“的記錄。
(4)、[^]:表示不在括號所列之內的單個字符。其取之和[]相同,但它所要求匹配對象為指定字符以外的任一個字符。比如select * from tbl_user where status like'[^頭眼耳]痛'; 將找出不是頭痛,眼痛, 耳痛之外的心痛。
注意事項:查詢內容包含通配由于通配符的緣故,導致查詢特殊字符“%”、“_”、“[”的語句無法正常實現,把特殊字符用“[]”括起來便可以正常查詢。