Я пытаюсь отфильтровать Google-ботов из user_agent
полей в моей базе данных. Я использую LIKE %text_I_want_to_check_%
, и он работает нормально, потому что пока все имена ботов уникальны, однако AdsBot-Google
не уникален в строке, что отличается от других user_agents
в том, что AdsBot-Google
является первой записью в строка.
Пример user_agent
с google-bot:
Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)
Пример AdsBot-Google
:
AdsBot-Google (+http://www.google.com/adsbot.html)
Как видите, оба примера содержат AdsBot-Google
, единственное отличие состоит в том, что второй содержит его в первом слове строки.
Мой желаемый вывод: SQL CASE, который проверяет, является ли AdsBot-Google
первым текстом в строке, и не мешает другим случаям, когда AdsBot-Google
находится в середине строки. Примерно так:
CASE
WHEN (sessions.user_agent like AdsBot-Google) then 'AdsBot-Google-Mobile-iPhone'