Найти - Пользователи
Полная версия: Поиск по Data Store
Начало » Google App Engine » Поиск по Data Store
1
nJLyTo
В SQL есть оператор LIKE, который проверяет соответствие значений заданной маске. Например:
SELECT CompanyName, ContactName
FROM Customers
WHERE CompanyName LIKE 'M%'
В GQL, как я понял, такое сделать не получится. Как обойти это ограничение?
kmet
для выборки по префиксу (prefix%) можно сделать финт ушами:
GqlQuery(“SELECT * FROM Model WHERE prop >= :1 AND prop < :2”, u“prefix”, u“prefix” + u“\ufffd”)
nJLyTo
Этот запрос выведет строки, которые начинаются на u“prefix”. А как быть, если префикс находится не вначале строки?

И еще, мне не понятно назначение символа u“\ufffd”?
kmet
В GQL по объективным причинам нету аналога LIKE. я знаю решение только для частного случая, которое и привел выше

\ufffd это символ на наибольшим кодом в unicode, поэтому строка (“prefix” + u“\ufffd”) “больше” любой другой сторки начинающейся с “prefix”
nJLyTo
Хм, значит будем что-то менять… Спасибо за помощь.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB