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)。
默认情况下,一些数据库(Oracle,IBM DB2,PostgreSQL等)将执行区分大小写的字符串比较,其他数据库不区分大小写(SQL Server,MySQL,SQLite)。这不是任何方式的标准,所以只要知道你的数据库设置是什么。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |