2013-09-17 4 views
0

У меня есть текстовое поле в MS Access и имеет подобный текст:Как фильтровать данные с квадратными скобками?

bla bla bla [hhh] bla bla bla [kkkd] 
blo blo blo blo [ttt] blo blo blo [ppp] 
jh asdjahsuz uizasdui asudz j jksdf 

Я пытаюсь найти все записи, которые имеют «[Somthing]» в этой области.

SELECT pruefhinweis 
FROM tb_bauteile 
WHERE pruefhinweis LIKE '%[%]%' 

но этот SQL не работает, не могли бы вы сказать мне, как я могу выполнить эту работу?

ответ

0

Попробуйте это:

SELECT pruefhinweis 
FROM tb_bauteile 
WHERE pruefhinweis LIKE '*[[a-z]]*'; 

Или

SELECT b.pruefhinweis 
FROM tb_bauteile AS b 
WHERE b.pruefhinweis Like '*[[]*]*'; 
+1

Это работает для меня хорошо. – Dhwani

+0

@Kaja Обратите внимание, что шаблон будет соответствовать любому значению 'pruefhinweis', которое включает' '', присутствует ли '' ''. Это не то, о чем просил ваш вопрос. – HansUp

0
SELECT pruefhinweis 
FROM tb_bauteile 
WHERE pruefhinweis LIKE '*[*]*' 
+0

Спасибо за ваш ответ, но ваш запрос возвращает текст с * – Kaja

1

Matching квадратные скобки в шаблоне не является интуитивно понятным. Смотрите раздел справки «Использование шаблонных символов в строковых Сравнения»:

Вы можете использовать специальные символы открывающую скобку ([), вопросительный знак, знак номера (#) и звездочка (*) к (?) соответствуют самим себе, только если они заключены в скобки. Вы не можете использовать закрывающую скобку (]) внутри группы, чтобы соответствовать самой себе, но вы можете использовать ее вне группы в качестве отдельного символа.

Любой из них вернет вам то, что вы хотите, с запросом, выполняемым из DAO (например, в сеансе доступа с использованием конструктора запросов).

SELECT b.pruefhinweis 
FROM tb_bauteile AS b 
WHERE b.pruefhinweis Like '*[[]*]*'; 

SELECT b.pruefhinweis 
FROM tb_bauteile AS b 
WHERE b.pruefhinweis ALike '%[[]%]%'; 

С ADO, вы можете использовать второй запрос или этот ...

SELECT b.pruefhinweis 
FROM tb_bauteile AS b 
WHERE b.pruefhinweis Like '%[[]%]%'; 
Смежные вопросы