目前数据库案例的标准是什么
What is currently the standard for database case
所以我阅读了大量关于数据库和编程的惯例。但是,我不记得是否有人建议数据库的标准案例。
数据库区分大小写是标准还是不区分大小写?
我知道一些数据库技术的默认情况各不相同(SQL、Oracle、mysql 等)这不是我要找的,因为默认情况因为某些技术可能再次成为标准。
谢谢
据我所知,SQL 2008 and SQL 1999 将数据库定义为不区分大小写。但是有一些数据库是符合标准的,也有一些是有例外的。所以这取决于你使用的是哪个数据库。您必须遵循所使用的数据库定义的规则。
假设您使用的是 Oracle,那么可以肯定它完全符合标准。但是假设您正在使用 MySql 然后它依赖于文件系统,如下面的查询 windows works
CREATE TABLE TEST (ID INTEGER);
CREATE TABLE "Test" (ID INTEGER); -- Gives Errors , table already exists
但在 linux 上有效
CREATE TABLE TEST (ID INTEGER);
CREATE TABLE "Test" (ID INTEGER); -- Creates the table Test
SQL 标准要求 un 引用的标识符区分大小写 in。这从一开始就在 SQL 标准中(早在 1986 年左右)
带引号 标识符区分大小写
所以根据标准 foo
和 FOO
是相同的,但是 "foo"
和 "FOO"
不是。
如果你在谈论字符值的比较,那么 SQL 标准使它依赖于字符串定义的排序规则:“两个字符串表达式的比较取决于关于用于比较的排序规则"
标准列出了一些排序规则名称,但没有提及它们是否应该区分大小写。事实上 "collation descriptor" 的文档只列出:
- The name of the collation.
- The name of the character repertoire to which it is applicable.
- A list of the names of the character sets to which the collation can be applied.
- Whether the collation has the NO PAD or the PAD SPACE characteristic.
所以我阅读了大量关于数据库和编程的惯例。但是,我不记得是否有人建议数据库的标准案例。
数据库区分大小写是标准还是不区分大小写?
我知道一些数据库技术的默认情况各不相同(SQL、Oracle、mysql 等)这不是我要找的,因为默认情况因为某些技术可能再次成为标准。
谢谢
据我所知,SQL 2008 and SQL 1999 将数据库定义为不区分大小写。但是有一些数据库是符合标准的,也有一些是有例外的。所以这取决于你使用的是哪个数据库。您必须遵循所使用的数据库定义的规则。
假设您使用的是 Oracle,那么可以肯定它完全符合标准。但是假设您正在使用 MySql 然后它依赖于文件系统,如下面的查询 windows works
CREATE TABLE TEST (ID INTEGER);
CREATE TABLE "Test" (ID INTEGER); -- Gives Errors , table already exists
但在 linux 上有效
CREATE TABLE TEST (ID INTEGER);
CREATE TABLE "Test" (ID INTEGER); -- Creates the table Test
SQL 标准要求 un 引用的标识符区分大小写 in。这从一开始就在 SQL 标准中(早在 1986 年左右)
带引号 标识符区分大小写
所以根据标准 foo
和 FOO
是相同的,但是 "foo"
和 "FOO"
不是。
如果你在谈论字符值的比较,那么 SQL 标准使它依赖于字符串定义的排序规则:“两个字符串表达式的比较取决于关于用于比较的排序规则"
标准列出了一些排序规则名称,但没有提及它们是否应该区分大小写。事实上 "collation descriptor" 的文档只列出:
- The name of the collation.
- The name of the character repertoire to which it is applicable.
- A list of the names of the character sets to which the collation can be applied.
- Whether the collation has the NO PAD or the PAD SPACE characteristic.