- concat 组合函数 将字段组合输出成一个字段的内容
案例1:
SELECT 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随意写内容|
- ifnull(字段,0)函数,如果字段为null,则输出0(指定内容都可以)
因为为null的字段与任何字段进行操作都是null值,所以有必要引入这个函数
ifnull(字段,指定内容)函数,如果字段为null,则输出 指定内容
案例1:
SELECT
*,
ifnull( DATA, '随意写内容') AS 使用了ifnull函数之后data字段
FROM
test1
- 截断函数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;
结果:
莫愁爱上
- instr返回子串第一次出现的索引位置,如果找不到返回 0
#instr返回子串第一次出现的索引位置,如果找不到返回 0
select instr('李莫爱上愁爱上了陆展元','爱上') as out_put;
结果:
3
- 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好
- lpad 左填充 用指定的字符实现左填充,来满足指定长度要求,如果指定字符长度 小于字段原有数据的字符长度 则从数据的最右边 开始切割 保持数据一开始的完整性
lpad 左填充 用指定的字符实现左填充,来满足指定长度要求,
如果指定字符长度 小于字段原有数据的字符长度 则从数据的最右边开始切割
案例1:
select lpad('殷素素',10,'#') out_put
结果:
#######殷素素
案例2:
select lpad('殷素素',2,'#') out_put
结果:
殷素
- rpad 右填充 用指定的字符实现右填充指定长度,来满足指定长度要求,
如果指定字符长度 小于 字段原有数据的字符长度 还是从数据的 最右边开始切割,保持数据一开始的完整性
rpad 右填充 用指定的字符实现右填充指定长度,来满足指定长度要求,
如果指定字符长度 小于 字段原有数据的字符长度 还是从数据的最右边开始切割
案例1:
select rpad('殷素素','6','&') out_put
结果:
殷素素&&&
案例2:
select rpad('殷素素','2','&') out_put
结果:
殷素
- replace 替换
格式:replace(‘数据a’,‘查找数据里面的替换内容’,‘用新的指定内容来替换原有的内容’)
如果数据中出现多次,也会替换多次
replace替换,
格式:replace('数据a','查找数据里面的替换内容','用新的指定内容来替换原有的内容')
如果数据中出现多次,也会替换多次
案例1:
select replace('张无忌爱上了赵敏','赵敏','周芷若') out_put
结果:
张无忌爱上了周芷若
案例2:
select replace('张无忌爱上了周芷若,周芷若,周芷若周芷若,周芷若','周芷若','赵敏') out_put
结果:
张无忌爱上了赵敏,赵敏,赵敏赵敏,赵敏
- LENGTH(‘字段’) 求字段字节的长度
一个英文字母,一个字节
一个汉字,根据字符集设置,可能一个汉字是2个字节,或者3个字节
LENGTH('字段') 求字段字节的长度
一个英文字母,一个字节
一个汉字,根据字符集设置,可能一个汉字是2个字节,或者3个字节
案例1:
select length('xiehao') as out_put
结果:
6
案例2:
SELECT length('张无忌') as out_put
结果:
9
- 大小写转换函数:
内容变大写upper
内容变小写 lower
案例1:
select lower('ABXFDG') as out_put
结果:
abxfdg
案例2:
select upper('abcdef') as out_put
结果:
ABCDEF