如何使用firebird选择具有相同日期和月份(忽略年份)的日期

时间:2014-09-14 06:25:17

标签: sql datetime firebird flamerobin

我有一个用户存储生日的数据库。 y-m-d,我试图让每个拥有相同生日的用户;每个用户之间的年份可能不同。

那么如何将其转换为工作脚本:

SELECT username FROM table_name WHERE birthday='$birthday'

$birthday从表单中获取数据,其中输入为示例:2002-02-02。如果用户有这个生日,它应该回应它。但问题是,它检查了一年,而我只想获得一个月和一天,而不是一年。

我曾尝试使用EXTRACT(MONTH FROM ...),但没有让它发挥作用。我错过了什么?

2 个答案:

答案 0 :(得分:4)

您应将数据存储为DATE。然后像EXTRACT函数那样的日期/时间将起作用。

我建议添加新列并使用CAST填充原始列中的数据。然后删除原始列。另外,请考虑使用参数而不是字符串连接来阻止SQL injection

答案 1 :(得分:1)

select
extract(MONTH from cast('2002-02-02' as date))
from rdb$database