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

SQL合并两列:根据hora_saida值动态选择显示对应列数据

解决方案:合并hora_entrada与hora_saida列

没问题,这个需求用SQL的条件判断语句就能轻松实现,我给你两种常用的写法,适配不同数据库场景:

方法一:通用CASE语句(适用于所有主流数据库)

这是最通用的写法,不管你用MySQL、PostgreSQL、SQL Server还是Oracle都能直接用:

SELECT
  CASE
    WHEN hora_saida = 'Não saiu' THEN hora_entrada
    ELSE hora_saida
  END AS hora_final
FROM 你的表名;

逻辑说明:

  • CASE 会逐行检查 hora_saida 的值:
    • 如果等于 'Não saiu',就返回 hora_entrada 的数据;
    • 否则直接返回 hora_saida 的有效时间值;
  • 最后通过 AS hora_final 给合并后的列指定一个可读性强的名称,你可以根据需求改成别的名字。

方法二:简化版条件函数(针对特定数据库)

如果你的数据库支持简化的条件函数,还可以写得更简洁:

  • MySQL/MariaDB 用 IF 函数:
SELECT IF(hora_saida = 'Não saiu', hora_entrada, hora_saida) AS hora_final FROM 你的表名;
  • PostgreSQL/Oracle 12c+ 用 IIF 函数:
SELECT IIF(hora_saida = 'Não saiu', hora_entrada, hora_saida) AS hora_final FROM 你的表名;

注意事项:

一定要确保字符串 'Não saiu' 和表中实际存储的值完全一致,包括重音符号、大小写和空格,否则条件判断会不生效哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:37:23