一、去除字段中的字符 REPLACE()函数用法
-
语法:
UPDATE 表名 SET 字段 = REPLACE (字段, ‘原字符串’, ‘需要替换的新字符串’) -
⽰例:⽐如数据库A,数据库A中有个sys_user表,sys_user表中有⼀个name字段,现需要把name字段中的空字符传去除
UPDATE sys_user SET name= REPLACE (name, ' ', '')
二、多条数据,同样拼接在一个字符串中 group_concat()函数用法
1.语法
将分组中column1这一列对应的多行的值按照column2 升序或者降序进行连接,其中分隔符为seq
如果用到了DISTINCT,将表示将不重复的column1按照column2升序或者降序连接
如果没有指定SEPARATOR的话,也就是说没有写,那么就会默认以 ','分隔
GROUP_CONCAT([DISTINCT] column1 [ORDER BY column2 ASC\DESC] [SEPARATOR seq]);
(1)模拟数据
(2)语句1
SELECT GROUP_CONCAT(name) FROM test
(3)结果
(4)语句2
SELECT GROUP_CONCAT(name ORDER BY sort DESC SEPARATOR '*')
FROM test
GROUP BY num
-- 分组中的name中的多行数据将按照num降序进行连接,分隔符为 *
可以参考 https://blog.csdn.net/weixin_46544385/article/details/120563650
三、mysql字符串型数字排序问题
问题分析:mysql排序字段类型设置为varchar ,实际值是数字型的字符串
(1)模拟数据中 sort 是varchar 类型,对sort 排序
(2)结果
此时sort字段是varchar 可变长度字符串,按照第一位的顺序先比较,再第二位,第三位 …比较
解决问题: 字符串类型按照数字类型排序 使用sort+0或者sort*1方式转化为数字
另一种方式使用 CONVERT(sort,signed)转化为integer类型