2015-10-22 4 views
1

У меня есть запрос, который ищет строки в базе данных для соответствия строк. В качестве примера строки может быть:Случайный поиск в MS Access

This is a row which contains a String 

Запрос, который я в настоящее время работаю синтаксический идентичен

SELECT table.column FROM table WHERE table.column LIKE "*String*" 

хотя она возвращает каждую строку, где текст «строка» будет найдена, независимо от случая.

Есть ли в MS Access 2010 какой-либо аргумент сравнения строк, который я должен использовать вместо этого?

+0

старый трюк WHERE ниже (table.column) LIKE ниже («* String *») может работать. – jarlh

+0

Запрос должен соответствовать искомому слову, который я ищу, например. если я ищу «Всего», строки, содержащие «total», не должны возвращаться – user3091905

+0

Иногда я стараюсь читать и комментировать слишком быстро, одновременно делая другие вещи ... Извините. – jarlh

ответ

2

Вам придется прибегнуть к методам VBA, я боюсь. К счастью, методы VBA могут использоваться в JET SQL (хотя производительность может оказаться не лучшей). Instr метод VBA позволяет задать режим сравнения (0 = двоичное = чувствительны к регистру):

SELECT table.column FROM table WHERE INSTR(table.column, "String", 0) > 0 
0

LIKE '*String*' Я думаю неLIKE "*String*"

Подробнее LIKE condition in MS Access

+0

Должен был комментарий ... – jarlh

+0

О, смотри. Прости! –

+0

Извините, моя ошибка ... – jarlh

0

Вы можете использовать Instr:

SELECT t.FieldName 
FROM Table t 
WHERE ((InStr(1,[FieldName],"aB",0)>"0")); 
Смежные вопросы