多字段模糊查询,数据库concat()函数用法。

本文探讨了MySQL和ClickHouse在使用concat函数处理空值时的不同行为。在MySQL中,concat函数即使遇到空值也会返回结果,而在ClickHouse中则会返回空。为了解决这个问题,提出了两种解决方案:一是使用concat_ws,它能忽略空值;二是结合ifnull函数确保空值被替换。这些解决方案对于进行多字段模糊查询时的数据处理至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用多字段模糊查询的时候
1、关于数据库中concat()函数,刚开始使用MySQl测试的时候发现,里面的字段即使有一个为空返回的结果居然不为空,但是在使用clinkhouse测试的时候,发现里面只要有一个字段时空的就会返回空值。
在这里插入图片描述
总感觉MySQl有时候有点怪,也有可能是在安装的时候选择了非严谨模式的原因?
解决:
①使用concat_ws替换concat;在遇到null的情况下,concat_ws不返回null,会自动忽略任何null的情况,继续拼接,但是这个函数clinkhouse不支持。
在这里插入图片描述

②可以在concat中,使用ifnull函数,如:concat(ifnull(colnum1,‘null’),ifnull(colnum2,‘null’))

 AND CONCAT(IFNULL(msgContent,'NULL'),IFNULL(msgTitle,'null'),IFNULL(CAST(recordId AS varchar(20)),'NULL')) LIKE '%你好%'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值