目前数据库案例的标准是什么

时间:2015-05-01 19:26:15

标签: database case-sensitive case-insensitive

所以我读了很多关于数据库和编程的约定。但是,我不记得是否有人提出数据库的标准案例。

数据库的标准是区分大小写还是不区分大小写的标准?

我知道某些数据库技术的默认情况各不相同(SQL,Oracle,mysql等)这不是我正在寻找的,因为某些技术的默认情况可能会再次出现标准。

由于

2 个答案:

答案 0 :(得分:3)

SQL标准要求 un 引用的标识符 敏感。这从一开始就是SQL标准(早在1986年左右)

引用标识符但是敏感

因此,根据标准fooFOO相同,但"foo""FOO"不相同。

如果您正在讨论字符值的比较,那么SQL标准使其依赖于字符串定义的排序规则:" 两个字符串表达式的比较取决于用于的字符串比较"

该标准列出了一些校对名称,但没有提及它们是否应该区分大小写。实际上是"校对描述符"的文档。只列出:

  
      
  • 整理的名称。
  •   
  • 适用的角色曲目的名称。
  •   
  • 可应用排序规则的字符集名称列表。
  •   
  • 校对是否具有NO PAD或PAD SPACE特性。   
  •   

答案 1 :(得分:0)

据我所知,SQL 2008SQL 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)