oracle是区分大小写的原因?

前端之家收集整理的这篇文章主要介绍了oracle是区分大小写的原因?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有理由为什么Oracle是区分大小写的,而其他人喜欢sql Server和MysqL不是默认情况下?

我知道有方法来启用/禁用区分大小写,但似乎奇怪的是oracle与其他数据库不同。

我也试图理解区分大小写的原因。我可以看到“表”和“TaBlE”可以被认为是等效的,而不是等价的,但是有一个例子,情况灵敏度实际上会有区别吗?

我对数据库有点新,我目前正在上课。

默认情况下,Oracle标识符(表名,列名称等)不区分大小写。您可以使用引号(例如:SELECT * FROM“My_Table”WHERE“my_field”= 1)使它们区分大小写。 sql关键字(SELECT,WHERE,JOIN等)始终不区分大小写。

另一方面,字符串比较默认情况下是区分大小写的(例如:WHERE字段=’STRING’将只匹配它的’STRING’的列)。通过将NLS_COMP和NLS_SORT设置为适当的值,可以使它们不区分大小写(例如:分别为LINGUISTIC和BINARY_CI)。

Note: When inquiring data dictionary views (eg: dba_tables) the names will be in upper-case if you created them without quotes,and the string comparison rules as explained in the second paragraph will apply here.

默认情况下,一些数据库(Oracle,IBM DB2,Postgresql等)将执行区分大小写的字符串比较,其他数据库不区分大小写(sql Server,MysqLsqlite)。这不是任何方式的标准,所以只要知道你的数据库设置是什么。

猜你在找的Oracle相关文章