我有一个SQL查询,可以在SQLServer中创建数据库,如下所示:
create database yourdb
on
( name = 'yourdb_dat',
filename = 'c:\program files\microsoft sql server\mssql.1\mssql\data\yourdbdat.mdf',
size = 25mb,
maxsize = 1500mb,
filegrowth = 10mb )
log on
( name = 'yourdb_log',
filename = 'c:\program files\microsoft sql server\mssql.1\mssql\data\yourdblog.ldf',
size = 7mb,
maxsize = 375mb,
filegrowth = 10mb )
COLLATE SQL_Latin1_General_CP1_CI_AS;
go
它运行良好。
虽然其余的SQL很明显,但我对COLLATE SQL_Latin1_General_CP1_CI_AS
。
谁能向我解释一下吗?
答案
它设置了数据库服务器的方式(比较文本部分)。在这种情况下:
SQL_Latin1_General_CP1_CI_AS
分为有趣的部分:
latin1
使用Charset Latin 1制作服务器处理字符串,基本上是ASCIICP1
代码代码页1252CI
病例不敏感的比较,因此" ABC"将等于" ABC"AS
强调敏感,因此"ü"不等于" u"
P.S. 有关更多详细信息,请务必阅读 @Solomon-Rutzky的答案。