Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите написать запрос [D7, XP]


KyRo ©   (2006-12-29 11:44:00) 

Мне надо из таблицы достать все записи где в тектовом поле NAME есть символ '
Select * From Table Where NAME Like %'%
проблема заключается в том как мне представить для субд FireBird символ '
Что бы он не ругался что это конец строки ?


evvcom   (2006-12-29 16:36:00) [1]

> [15] KyRo   (29.12.06 16:28)
> А как задается любой параметр ?

Напиши запрос в design-time с параметром. Открой parameters, поиграйся. В run-time Query.ParamByName('XXX').Value := 'bla-bla'. И чти help или книжку какую.


KyRo   (2006-12-29 16:28:00) [2]


> Desdechado ©   (29.12.06 15:49) [13]
> > Так тоже не проходит
> Удивительная лаконичность. Может, раскроешь секрет непроходимости?
>


Секрета нет :) Просто выдало ошибку скул и после этого ибэксперт вообще отвалился

> > А тут можно узнать как задать этот параметр что бы он
> был равен ' или %'% ?
> Как любой другой параметр.

А как задается любой параметр ? Я просто этого не когда не делал !


> Select * From Table Where NAME Like '%''%'
> но лучше [5]


Так запрос прошол но он не выдал результата который мне нужен мне нужен символ '
SELECT ID, NAME, ISPOLNIT, LANG, STATUS, INFO, JANR, REITING
FROM MUZIK
WHERE
  (
     NAME LIKE "%'%"
  )


А в таком виде запрос выдал ошибку


evvcom   (2006-12-29 15:55:00) [3]

> [12] KyRo   (29.12.06 15:37)
> И так
>
> > Ega23 ©   (29.12.06 11:46) [1]
> > Select * From Table Where NAME Like %''%
>
>
> Иакой вариант не проходит все равно выдает ошибку

Select * From Table Where NAME Like '%''%'
но лучше [5]


Desdechado   (2006-12-29 15:49:00) [4]

> Так тоже не проходит
Удивительная лаконичность. Может, раскроешь секрет непроходимости?

> А тут можно узнать как задать этот параметр что бы он был равен ' или %'% ?
Как любой другой параметр.


KyRo   (2006-12-29 15:37:00) [5]

И так

> Ega23 ©   (29.12.06 11:46) [1]
> Select * From Table Where NAME Like %''%


Иакой вариант не проходит все равно выдает ошибку


> Desdechado ©   (29.12.06 11:50) [4]
> Всю строку поиска заключить в кавычки, кстати.
> Для Firebird апостроф и кавычка равны.


Так тоже не проходит


> Sergey13 ©   (29.12.06 11:56) [5]
> > [3] KyRo   (29.12.06 11:49)
>
> Select * From Table Where NAME Like :par

А тут можно узнать как задать этот параметр что бы он был равен ' или %'% ?


Anatoly Podgoretsky   (2006-12-29 15:32:00) [6]

> Ega23  (29.12.2006 12:20:08)  [8]

В MS SQL кавычки используются для метаданных, а апостроф для данных, как на большинстве серверов, не помню только как с этим в стандарте.
Не верьте только утверждениям, что такой то сервер соответствует стандарту SQL-XX


KyRo   (2006-12-29 12:38:00) [7]

Спасибо буду пробовать


Desdechado   (2006-12-29 12:31:00) [8]

Ega23 ©   (29.12.06 12:20) [8]
У автора FB.
А в Оракле, например, кавычки вообще используются для работы с метаданными, как в 3-м диалекте FB.
Например, SELECT A."UID" FROM Users A


Ega23   (2006-12-29 12:20:00) [9]


> Для него "ДЫНЯ" равноценно 'ДЫНЯ'.


В MS SQL, вроде, есть иерерхия. Т.е. ' имеет больший приоритет, чем ".


Desdechado   (2006-12-29 12:18:00) [10]

Ega23 ©   (29.12.06 12:12) [6]
Я не о твоем посте, а об обработке в FB. Он, в отличие от многих серверов, не отличает кавычку от апострофа при задании строковых констант.
Для него "ДЫНЯ" равноценно 'ДЫНЯ'.


Ega23   (2006-12-29 12:12:00) [11]


> Для Firebird апостроф и кавычка равны.


А это не кавычка, это 2 апострофа


Sergey13   (2006-12-29 11:56:00) [12]

> [3] KyRo   (29.12.06 11:49)

Select * From Table Where NAME Like :par


Desdechado   (2006-12-29 11:50:00) [13]

Всю строку поиска заключить в кавычки, кстати.
Для Firebird апостроф и кавычка равны.


KyRo   (2006-12-29 11:49:00) [14]


> А еще лучше параметры юзать.


Что значит параметры ?


Sergey13   (2006-12-29 11:48:00) [15]

Про escape в справке глянь.
А еще лучше параметры юзать.


Ega23   (2006-12-29 11:46:00) [16]

Select * From Table Where NAME Like %''%


Наверх

Титульная страница Поиск, карта сайта Написать письмо