CONCAT函数
在Java语言中,我们经常会对字符串进行处理,在ySQL中,我们同样也有这样的函数来处理字符串,这节课我们来学习CONCAT函数。
语法
我们来看一下concat函数的语法:
SELECT column_name1,CONCAT(column_name2,str,column_name3),column_name4 FROM table_name;
我们来分析一下这个语法:
- 首先这是一个查询语句,最基本的结构是 SELECT 列名 FROM 表名
- CONCAT函数可以拼接列名,也可以拼接字符串
- 在使用CONCAT函数的时候可以同时查询其他的列
- CONCAT函数的参数之间用英文
,
分隔
比如现在我们想查询timi_adc表中英雄的id,以及名字+胜率,我们可以利用concat函数,把结果的可阅读性变得更好:
SELECT
id,
concat(hero_name, '的胜率是', win_rate)
FROM
timi_adc;
我们可以看到查询结果有一列CONCAT,输出的第一条数据是,后羿的胜率是0.4995。
大家都应该接触过类似于王者荣耀战绩周报等数据分析,他们的输出结果就可以使用CONCAT函数完成。
需要注意的是,如果拼接的值中有NULL,则结果一律为NULL,这是NULL本身特性决定的。
配合WHERE语句查询
我们同样可以配合WHERE语句来使用CONCAT查询,比如在上面的例子中,我们想查询id = 3的数据,那么我们可以这么写:
SELECT
concat(hero_name, '的胜率是', win_rate)
FROM
timi_adc
WHERE
id = 3;
别名
我们优化拼接的结果,给他起一个别名,比如我希望查询结果的列名叫result,那么我们可以这么写:
SELECT
concat(hero_name, '的胜率是', win_rate) as result
FROM
timi_adc
WHERE
id = 3;
别名也可以应用在其他的列名,大家可以尝试一下
TRIM函数
数据库记录的是用户输入的数据,用户输入时的数据通常不是我们所预期的,有时候它会包含空格等我们并不需要的字符,从而产生脏数据,为了保持数据的格式正确,我们经常会使用TRIM函数来清理数据,这节课我们就将学习它。
语法
TRIM (str)
TRIM()函数的语法非常简单,就是把需要去除空格的数据放在TRIM()函数的空格里面,比如我们现在向timi_adc中插入两条新的数据:
INSERT INTO
timi_adc
VALUES
(
20,
' 鲁班七号',
'T1 ',
0.5111,
0.2300,
0.0944,
now(),
now()
),
(
21,
' 后羿 ',
'QT1Q',
0.5111,
0.2300,
0.0944,
now(),
now()
);
大家可以手动执行一下
现在我们想要查询id为20的姓名和热度,我们期望去掉数据中的空格,我们可以这么写:
SELECT
trim(hero_name),
trim(fever)
FROM
timi_adc
WHERE
id = 20;
trim()函数可以去掉查询结果中的空格,但是不会修改原数据,修改原数据需要配合UPDATE/DELETE语句使用
语法拓展
trim()函数也可以精准的去掉前面或者后面的空格,或者其他的字符,语法如下:
TRIM( BOTH|LEADING|TRAILING removed_str FROM str);
- TRIM函数可以加上LEADING来只除去前面的空格,或者加上TRAILING来只除去后面的空格,如果都不加,则默认是BOTH。
- TRIM函数可以删除指定的字符串内容,如果不加,则默认删除空格。
比如我们要去掉id为21这条数据中fever尾部的Q,那么我们可以这么写查询语句:
SELECT
TRIM(
TRAILING 'Q'
FROM
fever
)
FROM
timi_adc
WHERE
id = 21;
我们可以看到,我们精准的去掉了QT1Q尾部的Q。
REPLACE()函数
TRIM()函数不能去掉字符串中间的值,如果要修改中间的值,我们可以使用REPLACE()函数,它的语法如下:
UPDATE table_name
SET colunm_name =
REPLACE(column_name,string_find,string_to_replace)
WHERE conditions;
大家可以看到这个语法很复杂,它可以把找到的某个字符串替换成另一个字符串,其实我们可以直接用UPDATE语句修改,所以REPLACE()函数的实用性并不高。
MySQL字符串有很多函数,但是在实际的应用中,我们会采用MyBatis等框架去操作SQL,所以我们并不需要学会所有的字符串函数,这一章我们学会了常用的trim()和concat(),其他函数在接触到时,可以查询语法使用。
标签:TRIM,函数,我们,十分钟,MySQL,字符串,查询,id,CONCAT From: https://blog.csdn.net/oageux/article/details/140750872