Skip to Content
Facebook Cookbook
book

Facebook Cookbook

by Jay Goldman
October 2008
Intermediate to advanced
434 pages
12h 7m
English
O'Reilly Media, Inc.
Content preview from Facebook Cookbook

Birthday Friends

Problem

I need to find all of a specific user’s friends whose birthdays are on a given day using FQL.

Solution

SELECT uid FROM user WHERE strpos(birthday, "September 27")
 = 0 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $uid)

Discussion

Rather than supporting the LIKE comparator from SQL, Facebook has included the ability to run a small set of PHP-like functions in your queries (see Functions and Operators). We’re using the strpos() function here, which returns the position of the needle in the haystack (the first parameter—birthday—is known as the haystack, and the second parameter—“September 27”—is known as the needle). Since we’re looking for people who share the same birthday and we don’t care about the year, we want to return results where the string starts with “September 27”, which would mean it’s at position 0. In more traditional SQL, this query would have:

SELECT uid FROM user WHERE birthday LIKE "September 27%"
 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $uid)

You can, of course, substitute any day you’d like for “September 27”, which just happens to be my birthday (please email cakes and other goodies). This query comes from the excellent Facebook Developers Wiki Sample FQL Queries page, which you’ll find at http://wiki.developers.facebook.com/index.php/Sample_FQL_Queries.

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Mac OS® X Tiger™ Unleashed

Mac OS® X Tiger™ Unleashed

John Ray, William Ray
HTML5 Geolocation

HTML5 Geolocation

Anthony T. Holdener
z/TPF and WebSphere Application Server in a Service Oriented Architecture

z/TPF and WebSphere Application Server in a Service Oriented Architecture

Joe DeCarlo, Barry Baker, Edwin van de Grift, Jason Keenaghan, Dong Jun Lan, Bill Supon, Stuart Waldron, Dan Weber

Publisher Resources

ISBN: 9780596156695Errata