mysql查看满足条件的其他表的数据_MySQL 一个条件查询出数据表中所有满足条件的数据的方法...

项目开发中遇到一个问题:搜索框只传入一个条件,在SQL查询的时候如何查询出所有满足条件的数据。想到的第一解决方案是在后端进行逻辑处理的时候进行 if...else...的拼接。

但是拼接多个if...else...也不过是权宜之计,假如新增字段也不便于代码维护。查询mysql手册发现了一个非常有意思的函数 :CONCAT

mysql对这个 函数的描述是,字符串比较函数 ,官方例子/描述如下:

CONCAT(str1,str2,...)

返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。或许有一个或多个参数。 如果所有参数均为非二进制字符串,则结果为非二进制字符串。 如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如: SELECT CONCAT(CAST(int_col AS CHAR), char_col)

mysql> SELECT CONCAT('My', 'S', 'QL');

-> 'MySQL'

mysql> SELECT CONCAT('My', NULL, 'QL');

-> NULL

mysql> SELECT CONCAT(14.3);

-> '14.3' 可能看描述不是很明白,实际运用是怎样的呢?如下:

SELECT * FROM `tb_behavior_log` WHERE CONCAT(`behavior_log_action`,`behavior_log_controller`,`behavior_log_id`,`behavior_log_opname`) LIKE '%index%'

68071e08e272d01b3118ff7e4e2b70f4.png

当我的数据表中有多个字段,我却只传入了一个查询条件,如何一次将所有包含这个字段的数据查询出来呢?这时候就可以使用CONCAT()这个mysql函数,参数为:字段名。只需要这一条SQL就可以实现初始需求。不得不说很强大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值