FQL在时区迁移后无法返回事件数据



如上所述,时区迁移后,这些更改将应用

在"events_timezone"迁移之前:

  • start_time和end_time字段是太平洋时间的UNIX时间戳
  • 示例:"1341453600"表示2012年7月4日下午7点
  • 始终定义end_time

"events_timezone"迁移后:

  • start_time和end_time字段是ISO-8601格式的字符串
  • 如果未指定,则end_time可能为null

我使用以下查询来查询用户社交网络中发生的每个事件的结束时间。

SELECT eid, end_time FROM event WHERE eid IN (SELECT eid FROM event_member WHERE start_time > '2012-08-27' AND uid IN (SELECT uid FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me()))) LIMIT 5000.

此查询在时区迁移之前工作,但在启用时区迁移的情况下无法返回任何数据。我高度怀疑这是,因为至少有一个事件的end_time为null

我如何克服这个问题,并获得大多数事件的结束日期?我不介意为一两个事件设置null值,但我希望我的数据尽可能准确。

感谢

似乎添加了一个简单的

AND end_time != ''

成功了

代码现在是

SELECT eid, end_time FROM event WHERE eid IN (SELECT eid FROM event_member WHERE start_time > '2012-08-27' AND uid IN (SELECT uid FROM user WHERE uid = me() OR uid IN (SELECT uid2 FROM friend WHERE uid1 = me()))) AND end_time != '' LIMIT 5000

然而,我现在收到的事件仍然比以前少。为了获得相同的结果,我将不得不编写第二个查询来获得没有结束时间的事件

相关内容

  • 没有找到相关文章

最新更新