首页 > 解决方案 > 从 SQL 中的日期值中删除时间戳

问题描述

我有一个df

Begin_Date  Last_date
2010-03-30  NULL
2010-04-07  2010-07-10

我想计算一个有效的最后日期列,如果 last_date 列中有空值,那么我应该得到今天的日期(last_date 列中的 NULL 表示尚未达到最后一个日期,仍然有效)

Begin_Date  Last_date   Effective_date
2010-03-30  NULL           2020-09-08  #Today's date
2010-04-07  2010-07-10     2010-07-10

代码:

ALTER TABLE df ADD Effective_date AS
     COALESCE(Last_date, GETDATE()) ;

我得到的输出:

Begin_Date  Last_date   Effective_date
2010-03-30  NULL           2020-09-08 00:00:00:000 Today's date
2010-04-07  2010-07-10     2010-07-10

如何从日期中删除 00:00:00:000 部分?

标签: sqlsql-server

解决方案


转换为date

ALTER TABLE random_table_1 ADD effective_end_date AS
     CONVERT(date, COALESCE(End_dt, GETDATE())) ;

推荐阅读