2

我有一个数据库,用户存储他们的生日。ymd,我试图让每个生日相同的用户;每个用户的年份可能不同。

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

SELECT username FROM table_name WHERE birthday='$birthday'

$birthday从表单获取其数据,其中输入为 example: 2002-02-02。如果用户有这个生日,它应该呼应出来。但问题是它检查年份,我试图只得到月份和日期,而不是年份。

我已经尝试过EXTRACT(MONTH FROM ...)但没有让它工作。我错过了什么?

4

2 回答 2

4

您应该将数据存储为DATE. 然后类似日期/时间的EXTRACT功能将起作用。

我建议添加新列并使用原始列中的数据填充它CAST。然后删除原始列。还要考虑使用参数而不是字符串连接来防止SQL 注入

于 2014-09-14T07:49:59.297 回答
1
select
extract(MONTH from cast('2002-02-02' as date))
from rdb$database
于 2014-09-14T09:19:55.237 回答