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

SQL查询:满足Col1条件时Col3返回原值否则为NULL的实现

解决方案

使用标准SQL原生的CASE WHEN条件表达式即可实现,该语法是行级运算,无额外关联开销,适配大数据量表查询场景。

通用写法(对应基础查询示例)

SELECT 
    Col1,
    Col2,
    CASE 
        WHEN /* 此处填写Col1的判断条件,例如Col1 > 2、CHARINDEX('x', Col1) > 0 */ 
        THEN Col3 
        ELSE NULL 
    END AS Col3
FROM [Table]

如果使用的数据库支持IIF函数(如SQL Server、MySQL 8.0+、PostgreSQL 12+等),也可以用更简洁的写法,效果完全一致:

SELECT 
    Col1,
    Col2,
    IIF(/* 此处填写Col1的判断条件 */, Col3, NULL) AS Col3
FROM [Table]

实际场景写法(对应Employees表需求)

SELECT 
    EmployeeID,
    Firstname,
    CASE 
        WHEN EmployeeID IN (3, 6) THEN LastName
        ELSE NULL
    END AS LastName
FROM Employees

约束匹配验证

  • 可直接修改原有基础查询,无需额外调整依赖逻辑
  • 不需要提前知晓Col3/LastName的原有值,仅做条件透传
  • 完全保留所有行的其他列原值,无行过滤逻辑
  • 仅做单行字段运算,无额外IO开销,适配大数据量表场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 03:36:08