You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL查询如何仅返回WHERE子句多条件匹配的列 未匹配列返回NULL

实现SQL语句

你可以通过CASE WHEN对单个字段做匹配校验,符合规则返回原值、不符合返回NULL即可,写法如下:

SELECT
    id,
    CASE WHEN first_name LIKE '%AB%' THEN first_name ELSE NULL END AS first_name,
    CASE WHEN last_name LIKE '%AB%' THEN last_name ELSE NULL END AS last_name
FROM `user`
WHERE first_name LIKE '%AB%' OR last_name LIKE '%AB%';

注意事项

  • 不同数据库对关键字的转义规则不同,如果user作为表名报错,可以根据你用的数据库换成双引号"user"、方括号[user]即可
  • 如果需要大小写不敏感匹配,可替换匹配关键字:MySQL默认LIKE不区分大小写,PostgreSQL可以把LIKE换成ILIKE,SQL Server可以加COLLATE规则实现

内容的提问来源于stack exchange,提问作者Niranjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 02:57:05