Subject | 'like' with % at the begin finds nothing |
---|---|
Author | Roger Crämer |
Post date | 2006-05-11T09:04:28Z |
Hi,
given a small table
table t ( v char(10) )
with only one entry:
insert into t ( v ) values ( 'abcd' )
the following select does not find any entry:
select * from t where v like '%bcd'
nor does any select with wildcards find anything,
where the only wildcard is the first char in the
comparing string.
If the comparing string contains more than one wildcard
(with one wildcard at the first position) or if the (only
wildcard) is not the first character, the entries matching
will be found.
In short: it seems that the 'like' predicate doesn't find anything
if the only wildcard '%' is the first character in the search
string although there are matching entries in the db.
But: If the column is filled up until it's full size with data,
the 'like' works with the (only wildcard) at the first position.
Is this correct behaviour or is this a (known?) bug?
Is there a simple workaround?
The system is Firbird SuperServer 1.5.2/1.5.3 on Linux.
Roger
given a small table
table t ( v char(10) )
with only one entry:
insert into t ( v ) values ( 'abcd' )
the following select does not find any entry:
select * from t where v like '%bcd'
nor does any select with wildcards find anything,
where the only wildcard is the first char in the
comparing string.
If the comparing string contains more than one wildcard
(with one wildcard at the first position) or if the (only
wildcard) is not the first character, the entries matching
will be found.
In short: it seems that the 'like' predicate doesn't find anything
if the only wildcard '%' is the first character in the search
string although there are matching entries in the db.
But: If the column is filled up until it's full size with data,
the 'like' works with the (only wildcard) at the first position.
Is this correct behaviour or is this a (known?) bug?
Is there a simple workaround?
The system is Firbird SuperServer 1.5.2/1.5.3 on Linux.
Roger