![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите написать запрос [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 %''%