SQL Server如何确定两个标识符是否匹配?无论我按照以下顺序排列以下语句,SQL Server都会很高兴地创建第一个语句,然后拒绝创建其他任何已声明的语句。
create database []
go
create database []
go
create database [ ]
go
create database []
go
create database []
go
create database []
go
create database []
go
Run Code Online (Sandbox Code Playgroud)
SQL Server如何确定两个标识符是否匹配?
使用服务器排序规则比较数据库名称。在数据库内部,使用数据库排序规则比较表和其他对象名称的标识符。
服务器排序规则是在SQL Server安装过程中指定的。默认服务器级别排序规则为SQL_Latin1_General_CP1_CI_AS。
对于任何两个字符,排序规则确定哪个更大,或者是否认为它们相等。>,<或=也是如此吗?
select 'match'
where N' ' = N'' collate SQL_Latin1_General_CP1_CI_AS
Run Code Online (Sandbox Code Playgroud)
匹配,但是
select 'match'
where N' ' = N'' collate Latin1_General_Bin
Run Code Online (Sandbox Code Playgroud)
没有。
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |