Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The title basically says it: Are there any major DBs that don't handle column name quoting/escaping?

For instance, suppose I want to have a column called FROM (and let's assume I have a really good reason for that). In every SQL-based RDBMS, naturally that's a keyword. In MS SQL Server I can escape it using [ and ]:

    [FROM] VARCHAR(255)

MySQL uses backticks

    `FROM` VARCHAR(255)

Similarly, Oracle and Postegres use double quotes.

Is there any major RDBMS that doesn't support quoting/escaping column names, one way or another?

share|improve this question

migrated from Dec 4 '12 at 20:32

This question came from our site for professional and enthusiast programmers.

up vote 6 down vote accepted

As Leigh Riffel said, the answer to my question depends partially on what you mean by "major."

I'm going with: No, there are no major RDBMS engines out there that can't handle name escaping/quoting. A quoted/escaped name is apparently properly called a delimited identifier.

Martin Smith pointed out that delimited identifier is in the SQL-92 specification:

<delimited identifier> ::=
    <double quote> <delimited identifier body> <double quote>

Now, how well specifications are followed varies widely, but...

I've verified the following engines:

  • Microsoft SQL Server supports the standard "name" at least as far back as SQL Server 2000 (and also its own non-standard [name])
  • Oracle supports the standard
  • MySQL uses backticks (`name`) by default, but if you set SET GLOBAL SQL_MODE=ANSI_QUOTES; it supports the standard
  • Postgres supports the standard
  • SQLite (I said it depended on what you call "major") supports the standard and SQL Server's [name]

I figure the first four up there cover the vast majority of installations, and the fifth is important for embedded database work (as are a couple from the following list).

a_horse_with_no_name tells us that all of these support it too:

  • Sybase (he says Sybase does it like Microsoft)
  • DB2
  • Apache Derby
  • H2

(This being a Stack Exchange site, if you know of others that also support this, feel free to edit the answer and add them directly if you have enough rep. If you don't, just comment and I'll fold them in.)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.