修改服务器sql字符集,SQL Server 如何将拉丁字符集数据库内容转换成中文字符集显示...

-----------------------------------------------------------------------------------

--3. 设置和更改数据库排序规则

-- 创建新数据库时,可以使用下列内容之一指定排序规则:

--CREATE DATABASE 语句的COLLATE 子句。

--SQL Server Management Studio.

--SQL 管理对象(SMO) 中的 Database.Collation 属性。

-- 如果未指定排序规则,则使用服务器排序规则。

-- 可以使用ALTER DATABASE 语句的 COLLATE 子句来更改在用户数据库中创建的任何新对象的排序规则。使用此语句不能更改任何现有用户定义的表中列的排序规则。使用 ALTER TABLE 的COLLATE 子句可以更改这些列的排序规则。

-- 更改数据库排序规则时,需要更改下列内容:

-- 数据库的默认排序规则,这一新的默认排序规则将应用于数据库中后续创建的所有列、用户定义的数据类型、变量和参数。根据数据库中定义的对象解析 SQL 语句中指定的对象标识符时,也使用新的默认排序规则。

-- 将系统表中的任何 char、 varchar 、text 、 nchar、 nvarchar 或ntext 列更改为使用新的排序规则。

-- 将存储过程和用户定义函数的所有现有 char 、varchar 、 text、 nchar 、nvarchar 或 ntext 参数和标量返回值更改为使用新的排序规则。

-- 将char 、 varchar、 text 、nchar 、 nvarchar 或 ntext 系统数据类型和基于这些系统数据类型的所有用户定义的数据类型更改为使用新的默认排序规则。

--SQL code :

-------------------------- 数据库 ---------------------------------------

--1. 将数据库的字符集修改为:

ALTER DATABASE [pratice] COLLATE Chinese_PRC_CI_AS

--2. 为数据库指定排序规则

CREATE DATABASE db COLLATE Chinese_PRC_CI_AS

GO

ALTER DATABASE db COLLATE Chinese_PRC_BIN

GO

ALTER    DATABASE [pratice]  COLLATE   Chinese_PRC_CS_AS  -- 区分大小写

ALTER    DATABASE    [pratice] COLLATE  Chinese_PRC_CI_AS -- 不区分大小写

--------------------------- 表中的列 --------------------------------------

-- 为表中的列指定排序规则

CREATE TABLE tb

(

col1 VARCHAR (10 ) ,

col2 VARCHAR (10 ) COLLATE Chinese_PRC_CI_AS

)

GO

ALTER TABLE tb ADD col3 VARCHAR (10 ) COLLATE Chinese_PRC_BIN

GO

ALTER TABLE tb ALTER COLUMN col2 VARCHAR ( 10) COLLATE Latin1_General_CS_AS_KS_WS

GO

ALTER    TABLE    tb  ALTER   COLUMN    colname   NVARCHAR ( 100)    COLLATE   Chinese_PRC_CI_AS  -- 不区分大小写

ALTER    TABLE    tb  ALTER   COLUMN    colname   NVARCHAR ( 100)    COLLATE   Chinese_PRC_CS_AS  -- 区分大小写

---------------------------------------------------------------------

--3. 为字符变量和参数应用排序规则

DECLARE @a VARCHAR ( 10) ,

@b VARCHAR (10 )

SELECT   @a = 'a' ,

@b = 'A'

-- 使用排序规则 Chinese_PRC_CI_AS

SELECT   CASE WHEN @a COLLATE Chinese_PRC_CI_AS = @b THEN '@a=@b' --Chinese_PRC_CI_AS 不区分大小写

ELSE '@a<>@b'

END

-- 结果:@a=@b

-- 使用排序规则 Chinese_PRC_BIN

SELECT   CASE WHEN @a COLLATE Chinese_PRC_BIN = @b THEN '@a=@b'   --区分大小写

ELSE '@a<>@b'

END

-- 结果:@a<>@b

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值