Subject | Re: [firebird-support] Single quotes or Double quotes? |
---|---|
Author | Helen Borrie |
Post date | 2006-10-31T21:46:06Z |
At 07:55 AM 1/11/2006, you wrote:
Quotes usage became conformant with the SQL standard 'way back at
InterBase 6. Single quotes delimit string values; double quotes are
used (optionally) to make object identifiers case-sensitive and/or to
permit the use of reserved words and some "illegal" characters in identifiers.
interchangeably for delimiting string values. IB 6 and ---> all
Firebirds retain compatibility with these legacy databases by way of
Dialect. Firebird's native dialect is 3, which doesn't recognise
double quotes as a string delimiter. Legacy IB databases are dialect 1.
Firebird can read (and even create) dialect 1 databases provided they
are accessed with a client that is set to dialect 1. In that case,
the double-quote syntax for identifiers is not valid and, in some
conditions, you can get away with double-quoting strings.
Needless to say, it is a bad idea to create dialect 1
databases! Most people would agree that it's bad rule of thumb to
create databases with quoted identifiers throughout, as some older
admin tools do by default, since you will be stuck with them for
everything. Use them in the cases where you must, e.g. if it is
essential to have a table or field named "TYPE", which is a reserved word.
./heLen
>I'm creating a new database in FB 2.0 and i read somewhere that thereNo, that's wrong.
>are some changes in the way that quotes are used.
Quotes usage became conformant with the SQL standard 'way back at
InterBase 6. Single quotes delimit string values; double quotes are
used (optionally) to make object identifiers case-sensitive and/or to
permit the use of reserved words and some "illegal" characters in identifiers.
>Please anyone can explain those changes to me.In IB 5 and below, you could use double and single quotes
interchangeably for delimiting string values. IB 6 and ---> all
Firebirds retain compatibility with these legacy databases by way of
Dialect. Firebird's native dialect is 3, which doesn't recognise
double quotes as a string delimiter. Legacy IB databases are dialect 1.
Firebird can read (and even create) dialect 1 databases provided they
are accessed with a client that is set to dialect 1. In that case,
the double-quote syntax for identifiers is not valid and, in some
conditions, you can get away with double-quoting strings.
Needless to say, it is a bad idea to create dialect 1
databases! Most people would agree that it's bad rule of thumb to
create databases with quoted identifiers throughout, as some older
admin tools do by default, since you will be stuck with them for
everything. Use them in the cases where you must, e.g. if it is
essential to have a table or field named "TYPE", which is a reserved word.
./heLen