mysql 函数-字符函数

本文介绍了多种SQL函数。concat用于组合字段输出;ifnull处理字段为null的情况;substr是截断函数;instr返回子串索引;trim可去掉前后指定字符;lpad和rpad分别实现左右填充;replace用于替换;LENGTH求字段字节长度;还有upper和lower进行大小写转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. concat 组合函数 将字段组合输出成一个字段的内容
案例1SELECT concat('字段1',',','字段2','字段3','字段4') AS OUT_PUT
将多个字段的值组合输出成一个字段的内容
结果:
字段1,字段2字段3字段4

案例2:
其中data字段为null值,任何字段与null值进行操作都是null
SELECT concat( id, NAME, age, DATA )  组合内容 FROM test1
结果:
null
null

案例3:
引入ifnull函数进行操作
SELECT concat( id, NAME, age, ifnull( DATA, '随意写内容' ) )  组合内容 FROM test1
结果:
| 组合内容|
| 1谢浩24随意写内容|
| 2张三20随意写内容|

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. ifnull(字段,0)函数,如果字段为null,则输出0(指定内容都可以)
    因为为null的字段与任何字段进行操作都是null值,所以有必要引入这个函数
ifnull(字段,指定内容)函数,如果字段为null,则输出 指定内容
案例1SELECT
	*,
	ifnull( DATA, '随意写内容') AS 使用了ifnull函数之后data字段 
FROM
	test1

在这里插入图片描述

  1. 截断函数1:substr(‘字符’,8) 跟一个数字,表示截取从该数字位置,包括该位置(位置索引,从1开始)往后的字符
截取函数:
#substr('字符',8) 跟一个数字,表示截取从该数字位置往后的字符
select substr('李莫愁爱上陆展元ACD',8) out_put;

结果:
元ACD

在这里插入图片描述
截断函数2:substr(‘字符’,2,4) 跟两个数字,表示截取从第一个数字位置往后指定字符长度的字符大小

#substr('字符',2,4) 跟两个数字,表示截取从第一个数字位置往后指定字符长度的字符大小
select substr('李莫愁爱上了陆展元',2,4) put_put;
结果:
莫愁爱上

在这里插入图片描述

  1. instr返回子串第一次出现的索引位置,如果找不到返回 0
#instr返回子串第一次出现的索引位置,如果找不到返回 0
select instr('李莫爱上愁爱上了陆展元','爱上') as out_put;
结果:
3

在这里插入图片描述

  1. trim 去掉数据中 前后 的指定字符,不加则默认去掉数据前后的空格
#trim 去掉前后的指定字符
不加,默认去掉空格
select('            SDDF FF QW 11       ') AS out_put union all 
select TRIM('            SDDF FF QW 11       ') AS out_put
结果:
            SDDF FF QW 11       
SDDF FF QW 11

在这里插入图片描述
trim 去掉数据中前 后 指定的字符
格式:select trim(‘指定的字符’ from ‘数据’) from 某张表

trim 去掉数据中前 后 指定的字符
案例:
select('aaaaaaaaaaaa天DDF 气FFQW 11好aaaaaaaaaaaaaaaaa') AS out_put union all 
select trim('a' from 'aaaaaaaaaaaa天DDF 气FFQW 11好aaaaaaaaaaaaaaaaa') AS out_put
结果:
aaaaaaaaaaaa天DDF 气FFQW 11好aaaaaaaaaaaaaaaaa
天DDF 气FFQW 11

在这里插入图片描述

  1. lpad 左填充 用指定的字符实现左填充,来满足指定长度要求,如果指定字符长度 小于字段原有数据的字符长度 则从数据的最右边 开始切割 保持数据一开始的完整性
lpad  左填充 用指定的字符实现左填充,来满足指定长度要求,
如果指定字符长度  小于字段原有数据的字符长度 则从数据的最右边开始切割


案例1select lpad('殷素素',10,'#') out_put
结果:
#######殷素素

案例2select lpad('殷素素',2,'#') out_put
结果:
殷素

在这里插入图片描述

  1. rpad 右填充 用指定的字符实现右填充指定长度,来满足指定长度要求,
    如果指定字符长度 小于 字段原有数据的字符长度 还是从数据的 最右边开始切割,保持数据一开始的完整性
rpad  右填充 用指定的字符实现右填充指定长度,来满足指定长度要求,
如果指定字符长度  小于 字段原有数据的字符长度 还是从数据的最右边开始切割
案例1select rpad('殷素素','6','&') out_put
结果:
殷素素&&&

案例2select rpad('殷素素','2','&') out_put
结果:
殷素

在这里插入图片描述

  1. replace 替换
    格式:replace(‘数据a’,‘查找数据里面的替换内容’,‘用新的指定内容来替换原有的内容’)
    如果数据中出现多次,也会替换多次
replace替换,
格式:replace('数据a','查找数据里面的替换内容','用新的指定内容来替换原有的内容')
如果数据中出现多次,也会替换多次

案例1select replace('张无忌爱上了赵敏','赵敏','周芷若') out_put
结果:
张无忌爱上了周芷若

案例2:
select replace('张无忌爱上了周芷若,周芷若,周芷若周芷若,周芷若','周芷若','赵敏') out_put
结果:
张无忌爱上了赵敏,赵敏,赵敏赵敏,赵敏

在这里插入图片描述

  1. LENGTH(‘字段’) 求字段字节的长度
    一个英文字母,一个字节
    一个汉字,根据字符集设置,可能一个汉字是2个字节,或者3个字节
LENGTH('字段')   求字段字节的长度
一个英文字母,一个字节
一个汉字,根据字符集设置,可能一个汉字是2个字节,或者3个字节
案例1select length('xiehao') as out_put
结果:
6

案例2SELECT length('张无忌') as out_put
结果:
9

在这里插入图片描述

  1. 大小写转换函数:
    内容变大写upper
    内容变小写 lower
案例1select lower('ABXFDG') as out_put
结果:
abxfdg

案例2select upper('abcdef') as out_put
结果:
ABCDEF

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值