【问题标题】:SQL Server update date values so they are greater than or equal to other date valuesSQL Server 更新日期值,使其大于或等于其他日期值
【发布时间】:2017-04-22 22:48:32
【问题描述】:

我有一个包含三个日期字段(StartDate、EndDate、PaymentDate)的表格

表中的当前数据是一团糟,其中 EndDate 可以在 StartDate 之前,而 PaymentDate 可以在 StartDate 之前。

有没有办法转换日期,使它们满足以下限制 StartDate 不能等于或大于 EndDate PaymentDate 不能小于 EndDate

当前数据的丢失无关紧要,只要新值满足要求即可。

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    将它们设置为 null

    UPDATE [table] SET EndDate=NULL WHERE StartDate>EndDate
    UPDATE [table] SET PaymentDate=NULL WHERE EndDate>PaymentDate
    

    将它们设置为可接受的最小值

    UPDATE [table] SET EndDate=StartDate WHERE StartDate>EndDate
    UPDATE [table] SET PaymentDate=EndDate WHERE EndDate>PaymentDate
    

    【讨论】:

    • 底部选项最适合我,因为日期字段不能为空。谢谢你的回答!
    猜你喜欢
    • 1970-01-01
    • 2017-10-31
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    相关资源
    最近更新 更多