Structured Query Language is a language for relational databases, which serves to define, manipulate, find and fetch data in a database.
There are currently two SQL dialects used with Firebird and InterBase®:
For those that work with the BDE, this can only work with dialect 1 up to and including Delphi 6 (i.e. dialect 3 from Delphi 7 onwards).
Differences between dialects 1 and 3 include:
For new projects it is recommended that dialect 3 be specified.
Occasionally the question arises “What about SQL Dialect 2?”. Dialect 2 is similar to dialect 1, generates however warnings for all objects that are incompatible to Dialect 3 (i.e. only suitable for the client end); therefore, in principle, not really of importance.
The SQL dialect to be used in a database is specified when creating the database (IBExpert menu: Database / Create Database). It can subsequently be altered using the IBExpert menu Services / Database Properties (although watch out for possible dialect incongruencies, for example, the different date and time types).