2011-04-13 28 views
0

我试着找出一些与fql有关的东西,并且我做了一些选择查询,显示在选定日期有生日的朋友。在日期范围内选择一些事件(事件,生日,帖子等)

我无法弄清楚如何在查询中创建一些时间范围。

$fql_n = "SELECT uid, name, birthday_date FROM user 
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 
AND strlen(birthday_date) != 0 ORDER BY birthday_date"; 

Facebook的日期格式为mm/dd/yyyy

回答

1

birthday_datebirthday都是字符串。真的没有办法在一个范围内搜索。

您可以指定日期的列表,并使用IN

WHERE birthday_date IN ('05/30/1990','05/29/1990') 
+0

这不起作用。当我添加此语句时不返回任何内容。我把日期改成了更大的范围,所以不是我的朋友中没有一个在他们之间没有生日;)我会很满意另一个解决方案。欢呼声 – Kamil 2011-04-14 06:40:22

+0

这不是一个范围。正如我所说,你不能使用范围。你必须在列表中有特定的日期。 – 2011-04-14 06:42:04

0

你可以指定你想拥有的生日

SELECT name, birthday_date 
FROM user 
WHERE uid IN (
    SELECT uid2 
    FROM friend 
    WHERE uid1=me() 
) 
AND (strpos(lower(birthday_date),"08/01") >=0 OR strpos(lower(birthday_date),"08/02") >=0) 

//这会为8月1日和2取生日的那一天,使用birthday_date,所以你有MM/DD/YYYY格式。