Для некоторой справочной информации я создаю приложение, которое выполняет поиск по нескольким индексированным таблицам, чтобы получить некоторые записи. С точки зрения Google, это не слишком сложно, но достаточно для той цели, которой оно служит, за исключением этой странной проблемы.
Я использую функцию Contains()
, и она идет очень хорошо, за исключением случаев, когда поиск содержит строки чисел. Теперь я передаю только строку - нигде не передаются числовые типы данных - только символы. Мы осуществляем поиск по коллекции электронных писем, к каждому из которых добавляется пользовательский идентификатор при удалении из рабочего процесса. Поэтому во время тестирования мы решили поискать по числовым строкам.
В нашем тесте мы выделили число 0042600006
, которое относится к одной и только одной теме письма. Однако при использовании нашего запроса мы получаем результаты для 0042600001
, 0042600002
и т. Д. Запрос выглядит следующим образом (с некоторыми общими столбцами, стоящими внутри):
SELECT description, subject FROM tableA WHERE CONTAINS((subject), '0042600006')
Мы перепробовали все возможные комбинации: '0042600006*'
, '"0042600006"'
и '"0042600006*"'
.
Я думаю, что это просто ограничение функции, но я подумал, что это, вероятно, будет лучшим местом для ответов. Заранее спасибо.