sql - 从 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 部分?
解决方案
转换为date
:
ALTER TABLE random_table_1 ADD effective_end_date AS
CONVERT(date, COALESCE(End_dt, GETDATE())) ;
推荐阅读
- python - 来自以列值作为键的列表字典的 DataFrame
- python-2.7 - 使用 h5py 锁定 HDF 文件
- azure - Azure 应用服务:无法将现有应用服务发布到 Linux
- regex - 使用正则表达式仅在字符串的一部分内替换可变数量的组
- python - Tensorflow:重新运行训练会话时,get_variable 运行初始化程序并重新创建变量,而不是检索现有变量
- visual-studio-2017 - 带有 apache cordova 的 Visual Studio 2017 应用程序在使用 Debug-Windowsx64-Local Machine 的 AJAX Post 上获得 NetworkError 但适用于 Android 和 IOS
- java - GridBagLayout 网格高度约束不影响结果
- postgresql - 添加限制时是否有默认顺序?
- android - 互联网掉线后,Retrofit2 Singleton 导致 http 请求失败
- jenkins - 如何从 Jenkinsfile 触发组织扫描?