首页 > 数据库 > mysql教程 > SQL Server 变量名称的Collcation跟Instance还是跟当前DB?

SQL Server 变量名称的Collcation跟Instance还是跟当前DB?

WBOY
发布: 2016-06-07 15:44:14
原创
1166 人浏览过

使用SQL Server变量的时候碰到变量名称大小写的问题: 当前数据库是大小写不敏感的,但是声明变量之后发现变量名称是大小写敏感的。一直认为SQL Server的变量名称的Collcation是跟当前数据库的,在MSDN: You cannot specify a collation for character vari

使用SQL Server变量的时候碰到变量名称大小写的问题:

 

SQL Server 变量名称的Collcation跟Instance还是跟当前DB?

SQL Server 变量名称的Collcation跟Instance还是跟当前DB?

 

当前数据库是大小写不敏感的,但是声明变量之后发现变量名称是大小写敏感的。一直认为SQL Server的变量名称的Collcation是跟当前数据库的,在MSDN:

You cannot specify a collation for character variables and parameters; they are always created with the default collation of the database.http://msdn.microsoft.com/en-us/library/aa174903(v=sql.80).aspx

 

但是这篇文章只是提到变量的数据是跟当前数据的,但是没有提到变量名称的Collcation. 之后在MSDN论坛发现有相同的问题,微软工程师的回复如下:

 

Please note that variable collation is based on the server side (master db) collation, not on the user database collation.

For example if you have a case sensitive server, but a case-insensitive user database the variable declarions are case sensitive, since they live in memory of the server, and that uses the server collation.(http://social.msdn.microsoft.com/Forums/en-US/vstsdb/thread/0d833fab-2b32-4b98-a3ab-cdf8c743e5e0)

 

综上可以得出SQL Server变量名称的Collcation是跟系统Master数据库,也就是Instance的Collation.

 

 

 

 

 

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板