3.1 常用文本函数
2020年3月30日
9:52
在UTF8字符集中，一个英文字母点1个字节，一个汉字占3个字节。
在GBK字符集中，一个英文字母点1个字节，一个汉字占2个字节。
函数是可以嵌套的，函数的返回值可以充当另一个函数的参数
1、返回字符串左边的字符
语法：LEFT(字符串或字段，长度)
SELECT LEFT('孙兴华',2)
SELECT LEFT(商品名称,1) FROM `商品表`
2、返回字符串长度
语法：LENGTH(字符串或字段)                              目前为止就这一个指的是字节，其它都是指的字符
SELECT LENGTH('孙兴华')
SELECT LENGTH(商品名称) FROM `商品表`
3、字段连接或字符串连接
语法：CONCAT(字段1,字段2,…) 
SELECT CONCAT(字段1,'_',字段2,…) AS 别名 FROM 表名;
4、大写和小写转换
语法：LOWER(字段)  # 转小写
语法：UPPER(字段)   # 转大写
SELECT LOWER(`商品编码`) FROM `销售表`
SELECT UPPER(`商品编码`) FROM `销售表`
5、去掉左边和右边的空格
语法：TRIM(字段名或字符串)     # 左右两边
语法：LTRIM(字段名或字符串)   # 左
语法：RTRIM(字段名或字符串)  # 右
SELECT TRIM('  孙兴华  ') 
SELECT TRIM('a' FROM 'aa孙aa') 
SELECT LTRIM(`商品编码`) FROM `销售表`
SELECT RTRIM(`商品编码`) FROM `销售表`
6、字符截取  substr 
语法：SUBSTR(字符或字段,起始位置,结束位置)
语法：SUBSTR(字符或字段,起始位置)       
SQL与其它编程语言例外，索引从1开始！！！
SELECT SUBSTR('跟着孙兴华学习Python进阶',3,3) AS 姓名
SELECT SUBSTR('跟着孙兴华学习Python进阶',5) AS 姓名
7、返回子串第一次出现的索引，如果找不到返回0
语法：INSTR(字符串，子串)
SELECT INSTR('孙兴华坚持中文讲课因为孙兴华英文不好','孙兴华')
8、左填充和右填充
语法：LPAD(字符串，字符位数，‘占位’)    # 左填充
语法：RPAD(字符串，字符位数，‘占位’)    # 右填充
SELECT LPAD('孙兴华',8,'*')  
SELECT RPAD('孙兴华',8,'*') 
SELECT LPAD('孙兴华',2,'*')     # 返回：孙兴
SELECT RPAD('孙兴华',2,'*')    # 返回：孙兴
9、替换
语法：REPLACE(字符串，替换谁，换成什么)
SELECT REPLACE('孙兴华和孙兴华和孙兴华','孙兴华','华兴孙')