开发者

Why are SQL entries written in uppercase? [duplicate]

This question already has answers here: 开发者_如何学编程 Closed 12 years ago.

Possible Duplicate:

Why should I capitalize my SQL keywords?

hi,

I'm pretty new to SQL, but i've noticed that writing

SELECT * FROM column_name

is almost always used when

select * from column_name

yields exactly the same result. I can't find anything online about this. Is this just a convention? Or will not using uppercase break the script on older systems/systems that i'm not aware of?

thanks


SQL was developed in the 1970s when the popular programming languages (like COBOL) used ALL CAPS, and the convention must have stuck.


It's because that is the way it is defined in the ANSI standard. See section 5 Lexical elements, I presume it caught on from there.

http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt


They are completely equivalent, the uppercase just makes the query easier to read.


Notice this is really depending on your sql database implementation. Oracle tends to convert everything to uppercase. Postgresql on the contrary, will convert sql keywords or column identifier to lowercase. For idendifiers (tables, columns, ...) you can prevent your database from being "clever" by double-quoting them.

select "TeST" from MyTable;

will be translated in Oracle to SELECT "TeST" FROM MYTABLE; and in Postgresql to select "TeST" from mytable;

Also consider this behaviour when using jdbc for example, as the column names retrieved in the ResultSet will also follow these rules, so double-quoting identifiers might be a good practice if you consider portability.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜