这两天做课程大作业,总体感觉就像是跨越山和海,只为遇见你,旧问题解决了新问题又出现了,比如MySQL里面的字符串连接,好在不是什么大问题,还是记录一下比较好……
就拿我的数据库来说吧,有一个address表,如下:
因为某些需求需要,将地址的province、city、region、detail这几个字段分开来,我想在某一视图中显示该账户的地址,就要用到字符串连接了。
(1)CONCAT(str1,str2,……)
返回连接后的字符串,字符串参数中有一个为NULL则返回NULL。当参数中含有二进制字符串,则返回二进制字符串。当参数为数字,则返回相对应的二进制字符串。
(2)CONCAT_WS(separator,str1,str2,…)
separator代表字符串参数之间的分隔符,可以是任意字符串,但当separator为NULL,则返回NULL,此函数可以忽略str参数中的NULL值。
(3)GROUP_CONCAT([DISTINCT]字段[ORDER BY 排序字段 ASC/DESC] [Separator ‘分隔符’])
separator默认为‘,’,此函数用于按[排序字段]排序,以[separator ‘分隔符’]将[字段]中的值在一个单元格中打印出来。
根据我的需求,我选择了第(2)种方法:
select account,concat_ws(' ',province,city,region,detail) as address from address;
PS:这几天太累了,过程中还有许多问题,都没来得及整理o(╥﹏╥)o