注:^^代表字段,**代表数据表
字符串函数
ASCII(^^) 返回选中字段^^的每一个记录的第一个字符的ASCII码
用法:select ASCII(“name”); SELECT ASCII(^^) AS 别名 FROM **;
CHAR_LENGTH(^^) 返回字段^^的每一个记录的字符数量
用法:select char_length(“name”); select char_length(^^) as 别名 from **;
CONCAT(^^1,^^2) 将选中的多个字段的记录合并成一个字符串
用法:select concat(“name”,”12345”,……); select concat(^^1,^^2,……) from **;
CONCAT_WS(‘隔离符’,^^1,^^2) 将选中的多个字段的记录合并成一个字符串并加上隔离符
用法select concat_ws(‘-’,”name”,”12345”,……) ; select concat_ws(‘-’,^^1,^^2,……) from **;
FIELD(‘字符串’,^^1,^^2) 判段字符串在字段记录中的位置
用法:select field(‘c’,’a’,’b’,’c’,’d’,……); select field(‘c’,^^1,^^2,……) from **
注:在filed使用中该函数以当前字段的整个记录和条件字符串做对比完全一样才会返回(例:条件字符为xx 匹配的记录一样为xx)如果不完全一致不会返回结果(例:条件字符为x 匹配记录为xx)
FIND_IN_SET(‘字符串’,^^) 查找字符串中与^^匹配的位置
用法:select find_in_set(‘c’,’s,x,c’); select find_in_set(‘c’,^^) from **;
注意:该函数以逗号标识,也就是每一个逗号分隔一个字符串。(例:条件为x 某个字段的记录为’c,s,x’ 这时候返回结果是3 如果记录为csx 返回的结果就是0)
FORMAT(数字,n) 对数字进行保留n位小数
用法:select format(数字,n); select farmat(^^,n) from **;
注意:显示的结果小数前每三位都有逗号分隔,如处理的记录为非数字则会做0处理
INSERT(^^,x,len,str) 将^^的记录从x开始到len改变为str
用法:select insert(‘name’,1,4,’pwd’);结果为pwd; select insert(‘^^’,4,8,’****’) from **;
注意:区分insert做sql语句和做函数的不同概念即可
LOCATE(‘str’,’^^’) 查找str在^^中的位置
用法:select locate(‘b’,’abc’) ; select lacate(‘c’,`^^`) from **;
注意:区分和field和find_in_set。Field做完全匹配,find_in_set以逗号为标识符,该函数会做依次对比;
LCASE(^^)和LOWER(^^) 将字符串转成小写 (同义词)
UCASE(^^)和UPPER(^^) 将字符串转成大写 (同义词)
用法:select 函数(‘字符串’); select 函数(^^) from **
LEFT(^^,n) 返回字段^^记录的前n个字符
RIGHT(^^,n) 返回字段^^记录的后n个字符
用法:select 函数(‘字符串’,n); select 函数(^^,n) from **;
LPAD(^^,len,str) 在字段^^的每个记录的开头,添加str使记录达到len长度
RPAD(^^,len,str) 在字段^^的每个记录的结束,添加str使记录达到len长度
用法:select 函数(‘name’,6,’x’);(xxname/namexx);select 函数(^^,6,’x’) from **
注意:如果len<记录的长度,会从尾部删除字符
LTRIM(^^) 开头去空
RTRIM(^^) 结尾去空
TRIM(^^) 头尾去空
用法:select 函数(‘ name’);(结果:name);select 函数(^^) from **;
MID(^^,n,len)和SUBSTRING(^^,n,len)、SUBSTR(^^,n,len)在字段^^的记录中从n截取len长度作结果返回
用法:select mid(‘name’,-1,2);(结果为me) select mid(^^,1,6) from **;
注意:若n为负数则从尾部开始计算
POSITION(‘str’ in ^^) 返回str在字段^^的记录中的第一次出现位置
用法:select position(‘a’ in ‘nana’);(结果:2) select position(‘aaa’ in ^^) from **
REPEAT(^^,n) 将字段^^的每个记录重复三次做结果返回
用法:select REPEAT(‘ab’,2);(结果:abab) select REPEAT(`name`,3) from **
注意:n<=0返回结果为空
REPLACE(^^,s1,s2) 将字段^^中记录的s1替换成s2
用法:select replace(‘name’,’n’ ,’p’);(结果:pame) select replace(^^,’s1’,’s2’) from **;
REVERSE(^^) 字符串反转
用法:select reverse(‘abc’);(结果:cba) select reve
rse(^^) from **;
SPACE(n) 返回n个空格
用法:select Space(10);
STRCMP(^^1,^^2) 字符串比较
用法:select strcmp(‘name’,’pwd’);(结果:1);select strcmp(‘^^1’,’^^2’) from **;
注意:相等返回0 ;参数1大返回1,反之返回-1
SUBSTRING_INDEX(^^,str,num) 返回字段^^记录忽略隔离符str的第num个之后的所有字符
用法:select substring_index(‘a.b.c’,’.’,’2’);(结果:a.b); select substring_index(^^,’.’,3) from **;
注意:返回记录时会把隔离符返回,只是函数运行的时候会忽略执行。如果num为负数返回的结果是num的绝对值从右边计算