所以我读了很多关于数据库和编程的约定。但是,我不记得是否有人提出数据库的标准案例。
数据库的标准是区分大小写还是不区分大小写的标准?
我知道某些数据库技术的默认情况各不相同(SQL,Oracle,mysql等)这不是我正在寻找的,因为某些技术的默认情况可能会再次出现标准。
由于
答案 0 :(得分:3)
SQL标准要求 un 引用的标识符 敏感。这从一开始就是SQL标准(早在1986年左右)
引用标识符但是敏感
因此,根据标准foo
和FOO
相同,但"foo"
和"FOO"
不相同。
如果您正在讨论字符值的比较,那么SQL标准使其依赖于字符串定义的排序规则:" 两个字符串表达式的比较取决于用于的字符串比较"
该标准列出了一些校对名称,但没有提及它们是否应该区分大小写。实际上是"校对描述符"的文档。只列出:
- 整理的名称。
- 适用的角色曲目的名称。
- 可应用排序规则的字符集名称列表。
- 校对是否具有NO PAD或PAD SPACE特性。
答案 1 :(得分:0)
据我所知,SQL 2008和SQL 1999定义数据库不区分大小写。但是有一些数据库符合标准,并且有一些数据库有例外。所以这取决于您使用的数据库。您必须遵循您正在使用的数据库定义的规则。
因此,假设您使用的是Oracle,确保它完全符合标准。但是,假设您正在使用MySql,那么它依赖于文件系统,如下面的查询在Windows上工作
CREATE TABLE TEST (ID INTEGER);
CREATE TABLE "Test" (ID INTEGER); -- Creates the table Test
但是在linux上它可以工作
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind((self.interface, self.port))
sock.listen(5)