这个SQL语句是什么意思?
CREATE TABLE [dbo].[ccc] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[UserID] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[UserContent] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
这个句子是从数据库中生成的
本人有一个句子不知是什么意思,SQL Server 7.0 数据库
请帮我解释一下COLLATE Chinese_PRC_CI_AS 是什么意思?
如果在建表的时候不需要,可以在哪个地方设置?
谢谢
肯定给分
问题点数:100、回复次数:18Top
1 楼line(一千弯线)回复于 2001-09-17 21:11:34 得分 0
字段吧Top
2 楼tikkypeng(千两狂死郎之天衣有缝)回复于 2001-09-17 21:15:13 得分 5
CREATE TABLE [dbo].[ccc] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[UserID] [nvarchar] (15) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[UserContent] [nvarchar] (250) COLLATE Chinese_PRC_CI_AS NULL ,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
建立一个表ccc~~~
三个字段1.ID自动加一类型的
2.UserID字段
3.UserContent字段Top
3 楼softer(softer)回复于 2001-09-17 21:21:59 得分 0
不是字段,可能是按某种方式排序
Unicode collation acts as a sort order for Unicode data. This is separate from the sort order for non-Unicode data
这是msdn中的帮助文件Top
4 楼softer(softer)回复于 2001-09-17 21:23:32 得分 0
问题是COLLATE Chinese_PRC_CI_AS 是什么意思?
建立一个表ccc~~~
三个字段1.ID自动加一类型的
2.UserID字段
3.UserContent字段 Top
5 楼qiubolecn(来自差生市)回复于 2001-09-17 21:25:27 得分 15
COLLATE
一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影
chinese_prc_ci_as是字符集啦
Top
6 楼tikkypeng(千两狂死郎之天衣有缝)回复于 2001-09-17 21:26:22 得分 0
不知道~~呵呵~~Top
7 楼cobi(我是小新)回复于 2001-09-17 21:28:25 得分 0
其实还是建表语句,但是你想知道的COLLATE Chinese_PRC_CI_AS我也想知道。不过你可以查找一下帮助,如果不行,把这一句去掉,然后重建该表(或用别的名字新建),看一看有什么不同Top
8 楼softer(softer)回复于 2001-09-17 21:29:39 得分 0
如何设置字符集Top
9 楼xiammy(filer)回复于 2001-09-17 21:35:09 得分 75
COLLATE
一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。
语法
COLLATE < collation_name >
< collation_name > ::=
{ Windows_collation_name } | { SQL_collation_name }
参数
collation_name
是应用于表达式、列定义或数据库定义的排序规则的名称。collation_name 可以只是指定的 Windows_collation_name 或 SQL_collation_name。
Windows_collation_name
是 Windows 排序规则的排序规则名称。请参见 Windows 排序规则名称。
SQL_collation_name
是 SQL 排序规则的排序规则名称。请参见 SQL 排序规则名称。
注释
COLLATE 子句可以在几个级别上指定,包括以下级别:
创建或更改数据库。
可以使用 CREATE DATABASE 或 ALTER DATABASE 语句的 COLLATE 子句指定数据库的默认排序规则。还可在创建数据库时使用 SQL Server 企业管理器指定排序规则。如果不指定排序规则,则将为数据库指派 SQL Server 实例的默认排序规则。
创建或更改表列。
可以使用 CREATE TABLE 或 ALTER TABLE 语句的 COLLATE 子句指定每个字符串列的排序规则。还可在创建表时使用 SQL Server 企业管理器指定排序规则。如果不指定排序规则,将为列指派数据库的默认排序规则。
还可使用 COLLATE 子句中的 database_default 选项,指定临时表中的列使用连接的当前用户数据库(而不是 tempdb)的默认排序规则。
投影表达式的排序规则。
可以使用 COLLATE 子句将字符表达式投影到特定的排序规则。将为字符字面值和变量指派当前数据库的默认排序规则。将为列引用指派列的定义排序规则。有关表达式排序规则的信息,请参见排序规则的优先顺序。
标识符的排序规则取决于定义标识符时所在的级别。为实例级对象(如登录名和数据库名)的标识符指派实例的默认排序规则。为数据库对象(如表、视图和列名)的标识符指派数据库的默认排序规则。例如,对于名称差别仅在于大小写的两个表,可在使用区分大小写排序规则的数据库中创建,而不能在使用不区分大小写排序规则的数据库中创建。
当连接上下文与数据库相关时,可以创建变量、GOTO 标签、临时存储过程和临时表,且当已将上下文切换到其它数据库时引用它们。变量、GOTO 标签、临时存储过程和临时表的标识符在实例的默认排序规则中。
COLLATE 子句只能应用于 char、varchar、text、nchar、nvarchar 和 ntext 数据类型。
排序规则一般由排序规则名标识。例外情况是:在安装过程中没有为 Windows 排序规则指定排序规则名称,而是指定排序规则指示器,然后选择复选框以指定区分或不区分大小写和重音的二进制排序或字典排序。
可以执行系统函数 fn_helpcollations 以检索 Windows 排序规则和 SQL 排序规则的所有有效排序规则名称的列表:
SELECT *
FROM ::fn_helpcollations()
SQL Server 只支持由基础操作系统支持的代码页。当执行依赖排序规则的操作时,被引用对象所使用的 SQL Server 排序规则必须使用计算机上运行的操作系统所支持的代码页。这些操作可包括:
当创建或更改数据库时,为数据库指定默认排序规则。
当创建或更改表时,为列指定默认排序规则。
当还原或附加数据库时,操作系统必须支持数据库的默认排序规则,并支持数据库中的任何 char、varchar 和 text 列或参数的排序规则。
支持 char 和 varchar 数据类型的代码页转换,但是不支持 text 数据类型的代码页转换。不报告代码页转换过程中的数据丢失。
如果被引用的对象所使用或指定的排序规则使用 Windows® 不支持的代码页,则 SQL Server 将发出错误信息。有关更多信息,请参见 SQL Server 联机丛书的"SQL Server 构架"章中的"排序规则"节。
请参见
ALTER TABLE
用于国际支持的排序规则选项
排序规则的优先顺序
排序规则
常量
CREATE DATABASE
CREATE TABLE
DECLARE @local_variable
table
使用 Unicode 数据
Top
10 楼xiammy(filer)回复于 2001-09-17 21:35:54 得分 0
希望能给你一点帮助Top
11 楼softer(softer)回复于 2001-09-17 21:50:05 得分 0
如何更改当前字符集?Top
12 楼Focus(西门大灌人)回复于 2001-09-18 11:15:53 得分 0
GZTop
13 楼kuangning(郎之间)回复于 2001-09-18 11:19:30 得分 0
GZTop
14 楼wangzh(独孤求问)回复于 2001-09-18 11:49:27 得分 0
upTop
15 楼lldwolf(铁背苍狼)回复于 2001-09-18 12:23:42 得分 5
肯定是从SQL SERVER里拷出来的,管他什么意思呢,反正是创建表,若要用得着,照着写不就行了Top
16 楼softer(softer)回复于 2001-09-18 14:24:06 得分 0
如何设置排序规则????Top
17 楼55555(55555)回复于 2001-09-18 14:36:03 得分 0
学习。Top
18 楼softer(softer)回复于 2001-09-18 17:05:34 得分 0
给分了,如果有人回答,继续给分Top





