【发布时间】: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 多岁的人也很容易遇到问题。