SQL文本型字段处理

文本型字段处理包括字符串切割,拼接,替换,信息提取等,熟练使用一些常用函数有利于提升工作效率。

  1. 计算字符长度
select char_lenth(column_name) from tableName;  -- 一个汉字返回长度为1
select len(column_name) from tableName;  -- 一个汉字返回长度为2字节
select length(column_name) from tableName;  -- MySQL计算字符长度,等同于len
  1. 去除空值
-- 去除左边空格
select ltrim('   aaa');
-- 去除右边空格
select rtrim('aaa   ');
-- 去除左右空格
select trim(column_name) from tableName;
  1. 大小写转换
-- 小写转换为大写
select upper('aaa');
select ucase('aaa');
-- 大写转换为小写
select lower('AAA');
select lcase('AAA');
select lower(column_name) from tableName;
  1. 截取字符串
-- 截取左边n个字符
select left('abcdefg',3);
select left(column_name,n) from tableName;
-- 截取右边n个字符
select right('abcdefg',3);
select right(column_name,n) from tableName;
-- 从任意位置截取字符
select mid(column_name,start,[length]) FROM tableName;
select substr(column_name,start,[length]) from tableName;
  1. 拼接字符串
-- 多个字符串直接拼接
select concat(year,'-',month,'-',day);
-- 字符串拼接指定分隔符
 select concat_ws(-,year,month,day);
 -- 分组值拼接
 select group_concat([distinct] column_name [order by 组内排序字段 asc/desc] [separatoe '分隔符']) from tableName group by 分组字段;
  1. 字符串查找
-- locate函数:Locate(str,sub) > 0,表示sub字符串包含str字符串;Locate(str,sub) = 0,表示sub字符串不包含str字符串
select locate('abc','abcdefg')
select locate('%abc',column_name) from tableName
-- instr(filed,str)函数:返回str子字符串在filed字符串的第一次出现位置
select instr('abcdefg','abc')
select instr(column_name,'abc') from tableName
  1. 字符串替换
select replace('abdfsfdr','r',''); -- 字符串r用替换为空
select replace(column_name,'子串','替换的子串') from tableName;
  1. 字符串填充
-- 左填充。lpad(str,n,pad) 左填充,用字符串pad对str的左边进行填充,达到n个字符串长度
update tableName set id=lpad(id,8,0);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值