我有一个用户存储生日的数据库。 y-m-d,我试图让每个拥有相同生日的用户;每个用户之间的年份可能不同。
那么如何将其转换为工作脚本:
SELECT username FROM table_name WHERE birthday='$birthday'
$birthday
从表单中获取数据,其中输入为示例:2002-02-02
。如果用户有这个生日,它应该回应它。但问题是,它检查了一年,而我只想获得一个月和一天,而不是一年。
我曾尝试使用EXTRACT(MONTH FROM ...)
,但没有让它发挥作用。我错过了什么?
答案 0 :(得分:4)
您应将数据存储为DATE
。然后像EXTRACT
函数那样的日期/时间将起作用。
我建议添加新列并使用CAST
填充原始列中的数据。然后删除原始列。另外,请考虑使用参数而不是字符串连接来阻止SQL injection。
答案 1 :(得分:1)
select
extract(MONTH from cast('2002-02-02' as date))
from rdb$database