本文将演示以下7个常用字符串函数:
REPLACE(str,a,b) | 用字符串b替换字符串str中所有出现的字符串a |
STRCMP(s1,s2) | 比较字符串s1和s2 |
TRIM(str) | 去掉字符串行尾和行头的空格 |
SUBSTRING(str,x,y) | 返回从字符串str x位置起y个字符长度的字串 |
o REPLACE(str,a,b)函数:用字符串b替换字符串str中所有出现的字符串a。
下例中用字符串“2008”代替了字符串“beijing_2010”中的“_2010”。
示例1:
mysql> select replace('beijing_2010','_2010','2008'); +----------------------------------------+ | replace('beijing_2010','_2010','2008') | +----------------------------------------+ |beijing2008 | +----------------------------------------+ 1 row in set (0.00 sec) |
o STRCMP(s1,s2)函数:比较字符串s1和s2的ASCII码值的大小。如果s1比s2小,那么返回-1;如果s1与s2相等,那么返回0;如果s1比s2大,那么返回1。
示例2:
mysql> select strcmp('a','b'),strcmp('b','b'),strcmp('c','b'); +-----------------+-----------------+-----------------+ | strcmp('a','b') | strcmp('b','b') | strcmp('c','b') | +-----------------+-----------------+-----------------+ | -1 | 0 | 1 | +-----------------+-----------------+-----------------+ 1 row in set (0.00 sec)
|
o TRIM(str)函数:去掉目标字符串的开头和结尾的空格。下例中对字符串“$ beijing2008 $ ”进行了前后空格的过滤。
示例3:
mysql> select trim(' $ beijing2008 $ '); +-----------------------------+ | trim(' $ beijing2008 $ ') | +-----------------------------+ | $ beijing2008 $ | +-----------------------------+ 1 row in set (0.00 sec) |
o SUBSTRING(str,x,y)函数:返回从字符串str中的第x位置起y个字符长度的字串。此函数经常用来对给定字符串进行字串的提取,如下例所示。
示例4:
mysql> select substring('beijing2008',8,4),substring('beijing2008',1,7); +------------------------------+------------------------------+ | substring('beijing2008',8,4) | substring('beijing2008',1,7) | +------------------------------+------------------------------+ | 2008 | beijing | +------------------------------+------------------------------+ |