加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle是区分大小写的原因?

发布时间:2020-12-12 14:11:02 所属栏目:百科 来源:网络整理
导读:有没有理由为什么Oracle是区分大小写的,而其他人喜欢SQL Server和MySQL不是默认情况下? 我知道有方法来启用/禁用区分大小写,但似乎奇怪的是oracle与其他数据库不同。 我也试图理解区分大小写的原因。我可以看到“表”和“TaBlE”可以被认为是等效的,而不
有没有理由为什么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,MySQL,SQLite)。这不是任何方式的标准,所以只要知道你的数据库设置是什么。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读