今天在論壇中看到一個關於mysql的問題,問題如下
good_id cat_id
12654 665,569
12655#1 cat_id是分類id
我現在用的是like 這樣的話,輸入一個分類id是688,或4722都能出來這個商品,但輸入一個722也出來這個商品了。
#LENGTH(str) 傳回str的位元組長度
#CONCAT(str1,str2....) 傳回參數str1,str2....的拼接,有一個null值則回傳null
CONCAT_WS (x,str1,str2...) ---concat with separator 第一個參數x代表分隔符號,後面的參數為字串
如果x為NULL則回傳NULL,如果字串有NULL會被忽略INSERT(s1,x,len,s2) 字串取代 s1 目標字串 x為s1的開始位置(下標從1開始) len為x之後的長度s2為需要替換的字串
如果x超過s1的長度下標,則傳回s1,如果len大於x之後剩餘字串長度,則全部替換LOWER(str)、LCASE(str) 字串轉為小寫
#UPPER(str)、UCASE(str) 字串轉為大寫
LEFT(str,n) 傳回字串str最左邊的n個字元
RIGHT(str ,n) 傳回字串str最右邊的n個字元
LPAD(s1,len,s2) 傳回s2從s1的左邊填入直到總長度為len,如果len
RPAD(s1,len,s2) 返回s2從s1的右邊填充直至len的長度,如果len
LTRIM(S) 刪除左側的空格RTRIM(s) 刪除右側的空格 TRIM(s) 刪除兩側的空格
#TRIM(s1 FROM s2) 刪除s2兩端出現的s1字串
REPEAT(s,n) 傳回n個s組成的字串,n<=0,回傳空;s或n為NULL,回傳NULL
SPACE(n) 傳回n個空格字串
#REPLACE(s,s1,s2) 傳回--由s2取代s中的所有s1字串的結果
STRCPM(s1,s2) s1==s2 回傳0 s1
#SUBSTRING(s,n,len) 、MID(s,n,len)回傳s從n開始的len長度的字串,若n<0,則從s的最後倒數n個開始截取,n=0的話回傳空字串;len可以省略-截取n之後的所有字元
LOCATE(str1,str2)、POSITION(str1 IN str2)、INSTR(str2,str1) 傳回str1在str2中出現的起始位置
REVERSE(s) 傳回s的字串的反轉
ELT(n,str1,str2, str3...) 回傳str1,str2.. 中的第n個字串 ,n超出返回返回null
FIELD(s,str1,str2,str3.. ..) 回傳s在str1,str2.....中的第一次出現的位置,沒有回傳0
FIND_IN_SET(s,str1) 回傳s在str1中的出現的位置,其中str1由多個字串組成,逗號隔開的列表
以上是MySQL中字串函數的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!