Firebird-2.5.0.22533-0, SIMILAR TO
Firebird-2.5.0.22533-0, SIMILAR TO
'az' SIMILAR TO '[a-z][a-z]' - true
'bz' SIMILAR TO '[a-z][a-z]' ('11' SIMILAR TO '[0-9][0-9]') - false - почему?
'bz' SIMILAR TO '[a-z][a-z]' ('11' SIMILAR TO '[0-9][0-9]') - false - почему?
Re: Firebird-2.5.0.22533-0, SIMILAR TO
SQL> select count(*) from rdb$database where 'az' SIMILAR TO '[a-z][a-z]';
COUNT
============
1
SQL> select count(*) from rdb$database where 'bz' SIMILAR TO '[a-z][a-z]';
COUNT
============
1
SQL> select count(*) from rdb$database where '11' SIMILAR TO '[0-9][0-9]';
COUNT
============
1
COUNT
============
1
SQL> select count(*) from rdb$database where 'bz' SIMILAR TO '[a-z][a-z]';
COUNT
============
1
SQL> select count(*) from rdb$database where '11' SIMILAR TO '[0-9][0-9]';
COUNT
============
1
Re: Firebird-2.5.0.22533-0, SIMILAR TO
IF ('b' SIMILAR TO ('[a-z]')) THEN
v = 1;
ELSE
v = 2;
= 2
v = 1;
ELSE
v = 2;
= 2
Re: Firebird-2.5.0.22533-0, SIMILAR TO
SQL> set term ^;
SQL>
SQL> execute block returns (x int) as
CON> begin
CON> if ('b' SIMILAR TO ('[a-z]')) then x = 1; else x = 2;
CON> suspend;
CON> end;
CON> ^
X
============
1
SQL>
SQL> execute block returns (x int) as
CON> begin
CON> if ('b' SIMILAR TO ('[a-z]')) then x = 1; else x = 2;
CON> suspend;
CON> end;
CON> ^
X
============
1
Re: Firebird-2.5.0.22533-0, SIMILAR TO
Может это глюк IBExpert?
Re: Firebird-2.5.0.22533-0, SIMILAR TO
Ошибка всегда в 17-ой строке.
Зачем говорить, что ты делаешь и что не получается ? Не надо, мы догадаемся сами...
Зачем говорить, что ты делаешь и что не получается ? Не надо, мы догадаемся сами...
Re: Firebird-2.5.0.22533-0, SIMILAR TO
?hvlad писал(а):Ошибка всегда в 17-ой строке.
Re: Firebird-2.5.0.22533-0, SIMILAR TO
Телепаты в отпуске, тебе говорят.lv151 писал(а):?
Из твоих кусочков мы не понимаем, чего ты делаешь, и какая где ошибка.
Re: Firebird-2.5.0.22533-0, SIMILAR TO
Код: Выделить всё
CREATE PROCEDURE proc
RETURNS (
v INTEGER)
AS
begin
IF ('b' SIMILAR TO ('[a-z]')) THEN
v = 1;
ELSE
v = 2;
SUSPEND;
end
Re: Firebird-2.5.0.22533-0, SIMILAR TO
SQL> set term ^;
SQL> CREATE PROCEDURE proc RETURNS (v INTEGER)
CON> AS BEGIN
CON> IF ('b' SIMILAR TO ('[a-z]')) THEN v = 1; ELSE v = 2;
CON> SUSPEND;
CON> END^
SQL>
SQL> SELECT * FROM PROC;
CON> ^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> commit^
SQL> EXECUTE BLOCK AS
CON> DECLARE I INT = 1000;
CON> DECLARE V INT;
CON> BEGIN
CON> WHILE (I > 0) DO BEGIN I = I - 1; SELECT V FROM PROC INTO :V;
CON> IF (V <> 1) THEN V = 1/0;
CON> END
CON> END^
SQL>
SQL> exit^
SQL> CREATE PROCEDURE proc RETURNS (v INTEGER)
CON> AS BEGIN
CON> IF ('b' SIMILAR TO ('[a-z]')) THEN v = 1; ELSE v = 2;
CON> SUSPEND;
CON> END^
SQL>
SQL> SELECT * FROM PROC;
CON> ^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> SELECT * FROM PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> EXECUTE PROCEDURE PROC^
V
============
1
SQL> commit^
SQL> EXECUTE BLOCK AS
CON> DECLARE I INT = 1000;
CON> DECLARE V INT;
CON> BEGIN
CON> WHILE (I > 0) DO BEGIN I = I - 1; SELECT V FROM PROC INTO :V;
CON> IF (V <> 1) THEN V = 1/0;
CON> END
CON> END^
SQL>
SQL> exit^
Re: Firebird-2.5.0.22533-0, SIMILAR TO
- SQL> SELECT * FROM PROC;
V
============
1
SQL> SELECT * FROM PROC;
V
============
1
SQL> SELECT * FROM PROC;
V
============
2
Последний раз редактировалось lv151 06 фев 2009, 11:29, всего редактировалось 2 раза.
Re: Firebird-2.5.0.22533-0, SIMILAR TO
а у Вас? проблема то у Вас, так что потрудитесь сообщить больше подробностей.Какая у Вас кодировка?
Re: Firebird-2.5.0.22533-0, SIMILAR TO
Ты пробовал текущий снапшот ?
Кто-нибудь ещё может это воспроизвести ?
Кто-нибудь ещё может это воспроизвести ?
Re: Firebird-2.5.0.22533-0, SIMILAR TO
2009-02-05 02:18:48 Firebird-2.5.0.22652-0_Win32.zip 8 MB - у меня этот.
Из ситуации вышел перечислением [0,1,2,3,4,5,6,7,8,9],[a,b,c] - так всё ок.
WinXP-2002-SP3-RUS
Из ситуации вышел перечислением [0,1,2,3,4,5,6,7,8,9],[a,b,c] - так всё ок.
WinXP-2002-SP3-RUS
Re: Firebird-2.5.0.22533-0, SIMILAR TO
Нет никакой ситуацииlv151 писал(а):Из ситуации вышел перечислением [0,1,2,3,4,5,6,7,8,9],[a,b,c] - так всё ок.
Re: Firebird-2.5.0.22533-0, SIMILAR TO
На RELEASE билде таки есть проблема. Я до этого всё время прверял DEBUG...
Re: Firebird-2.5.0.22533-0, SIMILAR TO
OK.
Спасибо за помощь!
P.S.
Спасибо за помощь!
P.S.
Я имел ввиду [0,1,2,3,4,5,6,7,8,9] - [0-9] ИЛИ [a,b,c, ...] - [a-z]. Диапазоны заменил перечислениями.hvlad писал(а):Нет никакой ситуацииlv151 писал(а):Из ситуации вышел перечислением [0,1,2,3,4,5,6,7,8,9],[a,b,c] - так всё ок.