Проблемы при составлении php sql запроса для таблицы postgresql с использованием LIKE - PullRequest
0 голосов
/ 17 декабря 2018

Я пытаюсь получить данные из таблицы postgresql, поэтому я написал код.Сейчас я пытаюсь составить SQL-запрос, но он не работает.С помощью моего запроса я пытаюсь найти в таблице genes_searchterms и найти все идентификаторы geneID, где в типах столбцов значение равно Pathway, а в поисковой строке столбца присутствует слово age.Ниже приведен код для составления моего запроса:

$sqlquery = "SELECT DISTINCT \"gene_id\" FROM \"" . \"genes_searchterms\" .
 "\" WHERE ". "(\"types\" LIKE  '". \"Pathway\" . "' 
AND  \"searchterm\" LIKE '" . \"%aging%\" ."') ";

Что-то не так в составлении моего запроса?Я использую drupal и не получаю ошибок при выполнении кода.Я не могу понять, где я ошибся.Я использую PostgreSQL 9.2.23.В скрипке показана часть моего стола https://www.db -fiddle.com / f / t7ThJ7Aen9XYzv2EtepinP / 0

1 Ответ

0 голосов
/ 18 декабря 2018

Я пытался запустить ваш запрос в db-fiddle .Я также не получил никакого результата, поэтому я перепроверил ваше состояние и попробовал их отдельно.Ошибка была в состоянии "searchterm".

Вы используете оператор ~ *, который соответствует, согласно документации , регистрозависимости без учета регистра.Так как% не является шаблоном в Regex, он буквально соответствует «% ageing»Только если вы используете LIKE в запросе.% будет использоваться в качестве подстановочного знака.

Вы можете использовать эфир с помощью правильного регулярного выражения или переключиться на LIKE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...