對于針對字符串位置的操作,第一個位置被標記為1。
ASCII(str) 返回字符串str的 最左面字符的ASCII代碼值。如果str是空字符串, 返回0。如果str是NULL,返回NULL。 mysql> select ASCII('2');也可參見ORD()函數。
ORD(str) 如果字符串str最左面字符是一個多字節字符,通過以格式((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...]返 回字符的ASCII代碼值來返回多字節字符代碼。如果最左面的字符不是一個多字節字符。返回與ASCII()函 數返回的相同值。mysql> select ORD('2');注意,對于多字節字符,其CHAR_LENGTH()僅計算一次。
LOCATE(substr,str) POSITION(substr IN str) 返回子串substr在字符串str第一個出現的位置,如果substr不 是在str里面,返回0. mysql> select LOCATE('bar', 'foobarbar');這函數是多字節可靠的。
INSTR(str,substr) 返回子串substr在字符串str中的第一個出現的位置。這與有2個參數形式的LOCATE()相 同,除了參數被顛倒。 mysql> select INSTR('foobarbar', 'bar');這函數是多字節可靠的。
LPAD(str,len,padstr) 返回字符串str,左面用字符串padstr填補直到str是len個字符長。 mysql> select LPAD('hi',4,'??');該函數是多字節可靠的。
RIGHT(str,len) 返回字符串str的最右面len個字符。 mysql> select RIGHT('foobarbar', 4);該函數是多字節可靠的。
SUBSTRING(str,pos,len) SUBSTRING(str FROM pos FOR len) MID(str,pos,len) 從字符串str返回一個len個字符的子串,從位置pos開 始。使用FROM的變種形式是ANSI SQL92語法。 mysql> select SUBSTRING('Quadratically',5,6);該函數是多字節可靠的。
SUBSTRING(str,pos) SUBSTRING(str FROM pos) 從字符串str的起始位置pos返回一個子串。 mysql> select SUBSTRING('Quadratically',5);該函數是多字節可靠的。
SUBSTRING_INDEX(str,delim,count) 返回從字符串str的第count個出現的分 隔符delim之后的子串。如果count是正數,返回最后的分隔符到左邊(從左邊數) 的所有字符。如果count是負數,返回最后的分隔符到右邊的所有字符(從右邊數)。 mysql> select SUBSTRING_INDEX('www.mysql.com', '.', 2);該函數對多字節是可靠的。
LTRIM(str) 返回刪除了其前置空格字符的字符串str。 mysql> select LTRIM(' barbar');該函數對多字節是可靠的。
SOUNDEX(str) 返回str的一個同音字符串。聽起來“大致相同”的2個 字符串應該有相同的同音字符串。一個“標準”的同音字符串長是4個字符,但是SOUNDEX()函 數返回一個任意長的字符串。你可以在結果上使用SUBSTRING()得到 一個“標準”的 同音串。所有非數字字母字符在給定的字符串中被忽略。所有在A-Z之外的字符國際字母被當作元音。 mysql> select SOUNDEX('Hello');該函數對多字節是可靠的。
REPEAT(str,count) 返回由重復countTimes次的字符串str組成的一個字符串。如果count <= 0,返回一個空字符串。如果str或count是NULL, 返回NULL。 mysql> select REPEAT('MySQL', 3);該函數對多字節可靠的。
INSERT(str,pos,len,newstr) 返回字符串str,在位置pos起始的子串且len個 字符長得子串由字符串newstr代替。 mysql> select INSERT('Quadratic', 3, 4, 'What');該函數對多字節是可靠的。
ELT(N,str1,str2,str3,...) 如果N= 1,返回str1,如 果N= 2, 返回str2,等等。如果N小 于1或大于參數個數,返回NULL。ELT()是FIELD()反 運算。 mysql> select ELT(1, 'ej', 'Heja', 'hej', 'foo');該函數對多字節是可靠的。
LOAD_FILE(file_name) 讀入文件并且作為一個字符串返回文件內容。文件必須在服務器上,你必須指定到文件的完整路徑名,而且你必須有file權 限。文件必須所有內容都是可讀的并且小于max_allowed_packet。 如果文件不存在或由于上面原因之一不能被讀出,函數返回NULL。 mysql> UPDATE table_nameMySQL必要時自動變換數字為字符串,并且反過來也如此:
mysql> SELECT 1+"1";如果你想要明確地變換一個數字到一個字符串,把它作為參數傳遞到CONCAT()。
如果字符串函數提供一個二進制字符串作為參數,結果字符串也是一個二進制字符串。被變換到一個字符串的數字被當作是一個二進制字符串。這僅影響比 較。
新聞熱點
疑難解答