Рейтинг:
38
Venkatesh Mookkan
Я надеюсь, что так и будет.
SELECT * FROM (SELECT * FROM sp_Text WHERE obj_Text like '%raiserror%') result WHERE result.obj_Text LIKE '%d'
Редактировать:
Исправьте опечатку в заявлении.
Отметьте это как ответ, если это вам поможет
mugamath
по-прежнему ничего Венкатеш.
jerrykid
Следует выбрать * из (выбрать * из sp_Text где объектов obj_text, как '%инструкция raiserror%') результат, объектов obj_text, как '%Д'
jerrykid
добрый Венкатеш Муккан, 5+
Venkatesh Mookkan
@jerrykid спасибо.
@mugamath:
Я исправил SQL. Теперь это должно сработать.
mugamath
вентакеш это тот, который вы дали ранее. никакая разница.
Venkatesh Mookkan
Ранее результат.объектов obj_text это с ошибками, как Расул.объектов obj_text
mugamath
да ладно. но ответа все равно не было.
Рейтинг:
36
Hiren solanki
Я нашел все ответы, а теперь позвольте мне попробовать, если я могу вам помочь.
В шаблоне сопоставления SQL-запросов есть так называемый "Escape-символ", например, если ваш символ соответствует подстановочному символу, то вы можете его экранировать.
Теперь у вас возникает та же проблема, что и ваш символ " % " находится внутри строки, и вы хотите сопоставить его.
Так что здесь много экспериментов MSDN[^] рассказывая.
Ниже приведен пункт вашего решения по связанной статье.
You can search for character strings that include one or more of the special wildcard characters. For example, the discounts table in a customers database may store discount values that include a percent sign (%). To search for the percent sign as a character instead of as a wildcard character, the ESCAPE keyword and escape character must be provided. For example, a sample database contains a column named comment that contains the text 30%. To search for any rows that contain the string 30% anywhere in the comment column, specify a WHERE clause such as WHERE comment LIKE '%30!%%' ESCAPE '!'. If ESCAPE and the escape character are not specified, the Database Engine returns any rows with the string 30.
Если после escape-символа в шаблоне LIKE нет символа, то шаблон недопустим, и LIKE возвращает FALSE. Если символ после escape-символа не является подстановочным знаком, то escape-символ отбрасывается, а символ, следующий за escape-символом, рассматривается как обычный символ в шаблоне. Это включает в себя знак процента (%), подчеркивание ( _ ) и левую скобку ([) подстановочных знаков, когда они заключены в двойные скобки ([ ]). Кроме того, внутри символов двойной скобки ([ ]) можно использовать escape-символы и экранировать каретку (^), дефис ( - ) и правую скобку (]).
Прочтите там полную статью, и вы наверняка получите ответ.
mugamath
он прекрасно работает на 30%. Но мне нужно получить %30. я попробовал следующий код
select * from (select * from sp_text where obj_Text like '%raiserror%')результат
где obj_Text типа '%d/%%'
Не удалось получить результат
Рейтинг:
1
Rajesh Anuhya
Как это так?.,
Имя таблицы : CUSTOMER_MASTER
имя столбца : "имя"
одна строка в моей таблице имеет значение "RA%JESH"
Теперь это мой вопрос
select * from CUSTOMER_MASTER cm where replace(cm.FIRSTNAME,'%','~') like '%~J%';
Добавлено для текстового типа данных
select * from CUSTOMER_MASTER cm where replace(convert(varchar,cm.FIRSTNAME),'%','~') like '%~J%'
Дайте мне знать, если это поможет вам
Спасибо и с уважением
Раджеш Б
mugamath
спасибо, Раджеш. Функция Replace не принимает тип данных text, так как в моем случае obj_text имеет тип данных text
Rajesh Anuhya
изменить заменить(см.Имя,'%','~') на замену(конвертировать(тип varchar,см.Имя),'%','~')
здесь firstname-это текстовый тип данных
mugamath
прости, Раджеш. и все же нет. ничего не получается
Rajesh Anuhya
это работает для меня.., (с текстовым типом данных).., вы можете разместить свой запрос здесь..
mugamath
нужно извлечь текст, который содержит %d в нем.
выберите * из sp_Text a, где
заменить(конвертировать(тип varchar,а.объектов obj_text),'%','~') как '%~ф%'
Rajesh Anuhya
выберите * от sp_Text где заменить(конвертировать(тип varchar,а.объектов obj_text),'%','~') как '%~Д%'
вы должны поставить "d" вместо "s"...
mugamath
да, но посмотрите, например. если мне недостаточно , я должен использовать %s право. я подтвердил , что %s доступен в тексте, но не смог восстановить данные.
Рейтинг:
1
velmahesh
Привет, Исмаил:Роза:
попробуйте выполнить следующий код. это будет хорошая работа..
Выберите * из sp_text, где obj_Text, например '%'+@keyword +'%'
mugamath
я попробовал это сделать.
выберите * из sp_text, где obj_Text, например '%' + '%d' + '%'
но ничего не произошло. на самом деле в моем тексте %d будет там. мне нужно получить весь текст, в котором есть %d.