MySQL 查询结果替换

MySQL 查询结果替换

1、 IF函数
IF(expr,v1,v2):如果表达式expr成立,那么返回v1,否则返回v2

示例
如果 type 等于 -1 那么返回的结果就是 0
否则 还是返回 type的数值

SELECT IF(type=-1, 0, type) as type
FROM table1;
2、 CASE语句
CASE case_value
WHEN when_value THEN
statement_list
ELSE
statement_list
END alias;
对case_value进行判断,根据case_value满足的条件返回结果,并重命名为alias。

示例

存在3种值,分别为:1、2、3。现在对table1进行查询,如果该字段值为1就变为苹果;为2就变为香蕉;为3就变为梨。

SELECT
	CASE type
	WHEN 1 THEN
		'苹果'
	WHEN 2 THEN
		'香蕉'
	ELSE
		'梨'
	END type
FROM table1;
3. replace()

替换字符串

replace(type,"aaa","bbb") as nowtype

示例
将type字段里面的 aaa 替换为 bbb

select *,replace(type,"aaa","bbb") as nowtype from  table1;
4. CONCAT()

字符串拼接

CONCAT(type,"  ",type1,"哈哈")

示例
将 type." ".type1.“哈哈” 的形式 拼接新的字段

select *,CONCAT(type,"  ",type1,"哈哈") as nowtype from table1;
5. group_concat()

数据分组 并查询出分组内对应的字段
需要和 group 一起使用
否则就所有数据就会被合并成一行

和 concat() 一样可以拼接

group_concat(type1)
group_concat(type,"  ",type1,"哈哈")

示例
根据 type 分组 并将 获取分组后的 type1 字段

select *,group_concat(type1) as nowtype1 from table1 group by type;

group_concat(type1)
默认使用 ,拼接 type1,type1
可使用 separator 更改拼接

separator '<br>' 
 
select *,group_concat(type1  separator '<br>' ) as nowtype1 from table1 group by type;

type1<br>type1<br>
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值