Subject Migrating from Microsoft SQL Server to Firebird
Author kokhoor
Hi all,

I am new to Firebird and am a convert from Microsoft
SQL Server. Thanks to the fact that Firebird is platform-
independent.

I have faced a few problems when I am porting my
database from SQL Server to Firebird.

1) In Microsoft SQL Server, there is an option to set
string searches to be case-insensitive for the entire database.
So, where clauses like those written below works:

WHERE id = 'name' (returns rows with id = 'name', 'Name', 'NAME')
WHERE id like '%name%' (returns rows with id
= 'mYname', 'NameMe', 'NAME')

Besides using WHERE upper(id) = upper('name'), is there any
alternative options for setting a field, a table or a database
to be case-insensitive?

2) Is there an isnull(evalValue, ifnull) functionality in
Firebird? The isnull function returns the value stored in ifnull
when the evalValue is null.
For example,

SELECT id, name, isnull(amount, 0) as amount from account;

the field amount will be account.amount if account.amount is not
null, or 0 if account.amount is null.

3) There is a length limit to field names, constraint names and
table names. Any way to extend that limit?

Regards,
Kok Hoor
SolutionX Software Sdn. Bhd.