在其他的语言里面,有对字符串的处理,比如强转和拼接什么的,在Mysql里面,同样有处理字符串的的函数,我们先看第一个函数
CONCAT函数
先来看下他的语法
SELECT field,CONCAT(field1,str,field2),field3 FROM field4;
- CONCAT函数可以拼接列名,也可以拼接字符串
- 在使用CONCAT函数的时候可以同时查询其他的列
- CONCAT函数的参数之间用英文
,
分隔
我们现在根据user表格查询,根据id去查询用户名的密码
select id, concat(user_name, '的密码是' , pwd) from user;
我们可以看到有一列是叫做concat,里面的内容就是将用户名和密码进行的拼接,需要注意的是,如果拼接的值中有NULL的话,则结果一律为NULL
,这个是NULL本身的特性
where子句
这里很明显是一个查询,所以是可以使用where子句,去配合进行查询,还是以上面的这个为例,现在我们去查询id = 29的数据
select id, concat(user_name, '的密码是' , pwd) from user where id = 29;
数据结果查询出来,只会根据条件,显示出来这一条数据
别名
直接去写拼接的话,会显示concat这个函数的所有内容,会十分不好看,现在可以给他优化一下,起一个别名,名叫密码
select id, concat(user_name, '的密码是' , pwd) as '密码' from user where id = 29;
这样便可以给字段命名一个新的名字,能够更好的去定义显示内容,别名也可以在其他的列进行使用,可以去自行尝试
TRIM函数
数据库记录的是用户输入的数据,用户输入时的数据通常不是我们所预期的,有时候它会包含空格等字符,从而产生脏数据,为了保持数据的格式正确,通常会使用TRIM函数来清理数据
我们去查询user表格里面id=29的用户名和密码,并且预期去掉里面的空格
SELECT trim(user_name), trim(pwd) FROM user where id = 29;
trim()函数可以去掉查询结果中的空格,但是不会修改原数据,修改原数据需要配合UPDATE/DELETE语句使用