Как сделать запрос таблицы YQL rss по pubDate
Я хотел бы получать новости о финансах Yahoo за последние 3 дня, что-то подобное
select * from rss where url='http://finance.yahoo.com.news/rss' and pubDate >= '2012-06-23'
НО эта часть "pubDate >= '2012-06-23'" игнорируется. Я всегда получаю одинаковые результаты с этим пунктом или без него. Каков правильный синтаксис, чтобы заставить это работать?
2 ответа
Ирина,
вы используете оператор "больше чем" над строкой,
для фильтрации по pubDate вам нужно использовать что-то вроде:
and pubDate >= date_trunc('month',current_date)
order by pubdate desc;
Правильный запрос будет
select * from rss where url='http://finance.yahoo.com/news/rss' and item.pubDate>='2012-06-26'
Обратите внимание на item.pubDate. Причина для пункта. потому что в структуре xml pubDate является дочерним элементом элемента.
К сожалению, это не сработает для вашего варианта использования (сортировка по времени). Это потому, что возвращаемая pubDate не имеет метки времени Unix. Извините, я не знаю, что нужно сделать, чтобы вы получили правильные результаты, но, по крайней мере, я мог бы дать вам правильный запрос:)