У меня возникают проблемы с сопоставлением шаблона из файлов журнала, которые я анализирую на экземпляре Postgres 8.3.

Шаблоны, которые я пытаюсь сопоставить,

cs(User-Agent)=-

cs(Referer)=-

Я пробовал как оператор like, так и оператор ~ с экранированием ниже, но пока безуспешно:

select * from database
where ~ E'\(Referer\)\=\-';

select * from database
where like 'cs\(User\-Agent\=\-)';

Что я делаю не так?

0
user7980 16 Авг 2012 в 04:09
1
Обратите внимание, что тег [psql] предназначен для интерфейса командной строки psql - посмотрите описание тега! Вы имеете в виду PostgreSQL. Фиксированный.
 – 
Erwin Brandstetter
19 Авг 2012 в 05:07

1 ответ

Лучший ответ
SELECT * FROM database WHERE [field name here] LIKE '%cs(User-Agent%'

Обратите внимание на выбор столбца, из которого извлекаются данные, которые вы анализируете, и на знаки процента (подстановочные знаки), указывающие, что вы хотите найти строку в любом месте поля. Без подстановочных знаков вы ничего не найдете.

1
Robert Harvey 16 Авг 2012 в 04:11