弱菜飞翔ing。请大神绕道哈


其实吧,这个字符串函数查下api即可,写在这里只是给我自己一个复习哈


首先是char_length 这个函数取的是字符数

for example 

char_length('小白');  这一句执行完就是 2

再来个例子,查询teacher_tab这个表里面的name的字符数

SELECT CHAR_LENGTH(name) FROM teacher_tab;



第二个函数是format(数字,位数); 函数 

格式化函数

来个实例说下

SELECT FORMAT(123456.789456,2);



2代表是截取小数点后面几位

这个例子的输出是123456.78


第三个函数是 insert 与 instr 函数


insert ('要替换的文本',起始位置,替换长度,替换文本);

instr(文本,要查询的文本);

SELECT INSERT('xiaobai is a dog',14,3,'cat');
SELECT INSTR('xiaobai is a dog','dog');

第一句是把dog替换为cat ,dog在第十四个,长=3, 最后返回的是 xiaobai is a cat

第二句是找到dog在文本中的起始位置,返回为14


第四个函数是截取函数 left 跟 right

SELECT LEFT('xiaobai',3);
SELECT RIGHT('xiaobai',3);

left返回的是xia,截取左边3个字符

right返回的是bai,截取从最后3个字符


第五个函数是

length()取的是字节数

for example:

SELECT LENGTH('小白');



返回的是6,因为我是utf-8的格式,一个中文字=3个字节


第六个函数是trim有ltrim,rtrim与trim

下面直接看例子说吧:

SELECT LTRIM('  xiaobai');
SELECT RTRIM('xiaobai  ');
SELECT TRIM(' xiaobai ');
SELECT TRIM(LEADING 'x' FROM 'xxxxbarxxxx');
SELECT TRIM(TRAILING 'abc' FROM 'abcxxxxabc');
SELECT TRIM(BOTH 'abc' FROM 'abcxxxxabc');


第一个例子返回的是xiaobai 去掉了左边的空格

第二个例子返回的xiaobai去掉了右边的空格

第三个例子返回的是xiaobai同时去掉了两边的空格

第四个例子返回的是barxxxx去掉了左边的指定x

第五个例子返回的是xxxxabc去掉了右边指定的‘abc’

第六个例子返回的是xxxx加了both之后同时去掉了两边的abc


第七个函数是 strcmp

直接上例子

SELECT STRCMP('str','str');



这个返回的是0,因为左右两边相等,如果左>右 返回1 反之 则返回-1


第八个函数CONCAT 

这个是字符串拼接函数,经常在sql语句拼接的时候遇上

例子如下:

SELECT CONCAT('my','s','ql');



返回的结果为mysql就是把几个字符串拼接在一起


最后一个要讲的字符串函数为substr

不废话,还是上例子

SELECT SUBSTR('xiaobai',3);
SELECT SUBSTR('xiaobai',-3);
SELECT SUBSTR('xiaobai',3,2);



第一个例子返回的aoba,因为这截取函数是从指定的第3个开始截取

第二个例子返回的是bai,因为指定的是-3,也就是倒数第三个开始截取

第三个例子返回的是ao,因为指定了截取起始位为3,截取长度为2


!come on!菜鸟继续努力!