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

如何使用SQL IF查询语句根据现有字段生成自定义新列

SQL实现逻辑说明

你可以通过CASE条件表达式生成符合要求的自定义列,需要注意Default是大多数SQL方言的保留关键字,引用时需要做转义处理:

  • MySQL/MariaDB转义保留字用反引号 `
  • SQL Server转义保留字用方括号 []
  • Oracle/PostgreSQL转义保留字用双引号 "

单表查询示例

SELECT 
    *,
    CASE 
        WHEN `New_Def` = 0 AND `Default` = 1 THEN 'NEW'
        WHEN `New_Def` = 1 AND `Default` = 1 THEN 'OLD'
        -- 可根据业务需求调整其他场景的默认返回值
        ELSE NULL
    END AS new_old_type
FROM 你的实际表名;

多表关联查询示例

如果需要关联多张数据表查询,在关联逻辑后加入CASE判断即可:

SELECT 
    t1.*,
    t2.*,
    CASE 
        WHEN t1.`New_Def` = 0 AND t1.`Default` = 1 THEN 'NEW'
        WHEN t1.`New_Def` = 1 AND t1.`Default` = 1 THEN 'OLD'
        ELSE NULL
    END AS new_old_type
FROM 表1 t1
INNER JOIN 表2 t2 
    ON t1.关联字段 = t2.关联字段;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:36:03