【问题标题】:Checking Values Stored In A Column In A Date of Birth Format in Database检查存储在数据库中出生日期格式列中的值
【发布时间】:2016-07-23 00:35:19
【问题描述】:

我目前正在尝试获取数据库中出生日期设置为未来日期的所有记录。但我不确定如何检查存储的现有值并确保它们大于/小于今天的日期。

目前我只有,

select * from [table_name]
where [column_name] =  .........;

保存日期的格式为 DD-FEB-YY,它们存储在 person 表的列中。

【问题讨论】:

  • 使用 YY 格式,您无法区分未来年份和过去年份。
  • 该列的数据类型是什么?如果是DATE,您不必关心格式,只需使用where col >= current_date 查找未来日期。如果它是具有这种格式的字符串,那么你就有麻烦了。
  • "保存日期的格式为 DD-FEB-YY" 修复该问题。然后回复我们。
  • 您需要包含列的数据类型。如果它是一个字符串,除非你对哪些 YY 值是有效的做出一些假设(并且这些假设对于足够大的人来说会被打破——如果数据库中有任何百岁老人,你就完全被淹没了,而且你70-90 多岁的人也很容易遇到问题。

标签: mysql sql


【解决方案1】:

使用CURDATE() 函数获取今天的日期。这将返回今天之后的所有记录:

SELECT * FROM table WHERE dateColumn > CURDATE()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-19
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多