基于多个日期列创建最小日期列的 SQL 代码 [重复]

Posted

技术标签:

【中文标题】基于多个日期列创建最小日期列的 SQL 代码 [重复]【英文标题】:SQL code to create min date column based on multiple date columns [duplicate] 【发布时间】:2022-01-04 06:07:49 【问题描述】:

我有一个包含多个日期列的 SQL 表,其中一些是空白的 (Example of Table),我想在 SQL 中创建一个列来计算 3 列中的最早日期 (Expected Output)

任何帮助将不胜感激!

【问题讨论】:

你的 SQL 引擎是? 试试这个:***.com/a/29834765/5027339 【参考方案1】:

请始终在版本中提及数据库名称以获得更好的解决方案。

架构和插入语句:

 create table Patients (Patient varchar(50), Doctor_Date date, Nurse_Date date, Physio_Date date);

 insert into Patients (Patient,Doctor_Date)values ('Patient 1','26/11/2021');
 insert into Patients (Patient,Doctor_Date,Nurse_Date,Physio_Date) values('Patient 2','17/11/2021','20/11/2021','16/11/2021');
 insert into Patients (Patient,Nurse_Date,Physio_Date) values('Patient 3','5/12/2021','4/05/2021');

查询:

  select Patient, 
              (SELECT MIN(mindate) FROM (VALUES (Doctor_Date), (Nurse_Date), (Physio_Date)) AS X(mindate)) AS Minimum_Date
  from Patients             

输出:

patient minimum_date
Patient 1 2021-11-26
Patient 2 2021-11-16
Patient 3 2021-05-04

db小提琴here

【讨论】:

以上是关于基于多个日期列创建最小日期列的 SQL 代码 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Pandas 中日期列的最大值/最小值,列包含 nan 值

需要根据日期范围参数包含不同列的报告

如何根据R中另一列的日期(月/日/年)计算列的年/月平均值、最大值、最小值等

添加具有基于另一个日期时间列的值的日期时间列

带有两个日期列的 sql 查询“where 子句”

如何将当前日期和时间插入到具有 DateTime 类型列的 SQL Server 表中?