【发布时间】:2019-11-14 15:54:28
【问题描述】:
我是这个行业的新手。希望您能帮助我解决 CASE 声明的以下问题。我需要比较存在日期值的两列,但结果将如下图所示。
谢谢 纳耶姆
【问题讨论】:
-
你尝试过什么?
-
我什么都没试过 :-(
标签: sql sql-server date compare case
我是这个行业的新手。希望您能帮助我解决 CASE 声明的以下问题。我需要比较存在日期值的两列,但结果将如下图所示。
谢谢 纳耶姆
【问题讨论】:
标签: sql sql-server date compare case
试试这样的...
select
first_date
,second_date
,case
when first_date > second_date
then
substring(datename(month,first_date),1,3) + '-' + substring(datename(year,first_date),3,2)
else
substring(datename(month,second_date),1,3) + '-' + substring(datename(year,second_date),3,2)
end as result
from (
select CONVERT(datetime, '2017-08-25') as first_date ,CONVERT(datetime, '2017-02-02') as second_date
union
select CONVERT(datetime, '2018-01-25') as first_date ,CONVERT(datetime, '2018-12-04') as second_date
union
select CONVERT(datetime, '2019-11-14') as first_date ,CONVERT(datetime, '2019-11-14') as second_date
) x;
;
【讨论】:
假设您的日期列确实是dates,您似乎在寻找:
select format(coalesce(start_date_1, start_date_2), 'MMM-yy')
from t;
【讨论】: