![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск символа из масcива в строке [FireBird 2.1]
DelphiN! © (2008-07-22 13:08:00)Нужно написать запрос, который выводил все записи, в которых встречается какой либо символ из английского и русского алфавита, как можно это сделать?
Нужно что-то похожее на
select * from table where field1 in ['A..'z']
PEAKTOP (2008-07-22 14:59:00) [21]можно еще
SELECT T1.*
FROM table1 T1
WHERE (T1.FIELD1 SIMILAR TO '[A-z]')
OR (T1.FIELD1 SIMILAR TO '[А-я]')
Но для использования нужен Firebird не ниже версии 2.5.0.20343
DelphiN! (2008-07-22 14:55:00) [22]
> turbouser © (22.07.08 13:53) [7]
>
> Лови...
Спасибо!
А можно ли проверить число ли в строке или нет? Только без ХП
Правильный$Вася (2008-07-22 14:00:00) [23]UDF сделай
turbouser (2008-07-22 13:53:00) [24]
> DelphiN! (22.07.08 13:46) [5]
Лови...
CREATE PROCEDURE EN_RU (
s varchar(50) character set cyrl)
returns (
idx integer)
as
declare variable i integer;
declare variable ch char(1) character set cyrl;
declare variable en varchar(30);
declare variable ru varchar(34);
begin
EN='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
RU='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';
I=1;
while (i<=strlen(:S)) do
begin
Ch = substring(:S from :i for 1);
if ((:EN containing :Ch) or (:RU containing :Ch)) then
begin
IDX=:I;
break;
end
I=:I+1;
end
suspend;
end
turbouser (2008-07-22 13:51:00) [25]
> DelphiN! (22.07.08 13:46) [5]
> А без хранимых процедур никак?
case -ом :)
DelphiN! (2008-07-22 13:46:00) [26]
> stas © (22.07.08 13:24) [4]
В FireBird 2.1 так не работает
> turbouser © (22.07.08 13:23) [3]
А без хранимых процедур никак?
stas (2008-07-22 13:24:00) [27]В MS SQL можно так: field1 like '%[А-Я]%'
turbouser (2008-07-22 13:23:00) [28]
> DelphiN!
ХП + substring
Dizzel (2008-07-22 13:11:00) [29]Вернее
select * from table where ['A..'z'] in field1
DelphiN! (2008-07-22 13:11:00) [30]
> Dizzel (22.07.08 13:11) [1]
Это я ...