Sql как заявление. Конец строки - PullRequest
3 голосов
/ 26 апреля 2011

Я должен выбрать все поля, которые содержат определенный текст и заканчиваются ", ', ) или пробелами или этот текст помещается в конец строки.

Так, Мне нужно что-то вроде этого:

select *
from MyTable
Where Column1 like '%' + @text + '["'') ]%'

Этот запрос работает нормально, пока текст не будет помещен в конец Column1.

Ответы [ 4 ]

5 голосов
/ 26 апреля 2011

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

Where Column1 + '"' like '%' + @text + '["'') ]%'
0 голосов
/ 26 апреля 2011
SELECT  *
FROM    MyTable
WHERE   Column1 LIKE '%' + @text + '%["'') ]'
        OR Column1 LIKE '%' + @text
0 голосов
/ 26 апреля 2011

Почему бы не попробовать ИЛИ?

 Where Column1 like '%' + @text + '["'') ]%'
  or
  Column1 like '%' + @text + '["'') ]'

Или я неправильно понимаю требование? Ваш вопрос немного сложен для понимания.

0 голосов
/ 26 апреля 2011

Это должно работать лучше и быстрее:

SELECT * FROM MyTable
WHERE
   ( (RIGHT(Column1,1) IN (' ', '"', '''', ')'))
     AND
     (SUBSTRING(Column1, LENGTH(@text)-1, LENGTH(@text))=@text)
   ) 
OR ( RIGHT(Column1, LENGTH(@text))=@text )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...