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

SQL如何取两列日期的最大值生成新的第三列

实现方案

首先修正你原查询的语法问题:TTT末尾多余的单引号需要删除。
要获取两个日期字段的最新值,直接使用SQL通用的GREATEST()函数即可,该函数会返回多个输入参数中的最大值,自动忽略NULL值。最终查询语句如下:

SELECT 
  RCW, 
  LCW, 
  TTT,
  GREATEST(`Current last receipt`, `Historic last receipt`) AS `MAX Last Process Date`
FROM RECC w2 

兼容写法(针对不支持GREATEST的数据库,如低版本SQL Server)

可以用CASE语句手动判断大小实现相同逻辑:

SELECT 
  RCW, 
  LCW, 
  TTT,
  CASE 
    WHEN `Current last receipt` >= `Historic last receipt` THEN `Current last receipt`
    ELSE `Historic last receipt`
  END AS `MAX Last Process Date`
FROM RECC w2 

注意:字段名包含空格时,需要根据你使用的数据库调整标识符包裹符号:MySQL用反引号`,SQL Server用方括号[],Oracle用双引号"。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 13:45:02