基于多个日期列创建最小日期列的 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 代码 [重复]的主要内容,如果未能解决你的问题,请参考以下文章