加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MsSql > 正文

sql-server – SQL Server:set character set(not collation)

发布时间:2020-05-23 07:24:32 所属栏目:MsSql 来源:互联网
导读:在SQL Server中创建表时,如何设置字段的默认字符集?在 MySQL中,这样做: CREATE TABLE tableName ( name VARCHAR(128) CHARACTER SET utf8) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 请注意,我在这里设置了两个字符集.这是多余的,我添

在SQL Server中创建表时,如何设置字段的默认字符集?在 MySQL中,这样做:

CREATE TABLE tableName (
    name VARCHAR(128) CHARACTER SET utf8
) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

请注意,我在这里设置了两个字符集.这是多余的,我添加了两种方式只是为了演示.

我也设置了整理,以证明整理是不同的.我不是要求整理整理. Most questions询问SQL Server中的字符集和编码是否使用归类回答,这是不一样的.

解决方法

As stated in BOL

Each SQL Server collation specifies three properties:

  • The sort order to use for Unicode data types (nchar,nvarchar,and ntext). A sort order defines the sequence in which characters are
    sorted,and the way characters are evaluated in comparison operations.
  • The sort order to use for non-Unicode character data types (char,varchar,and text).
  • The code page used to store non-Unicode character data.

上面的报价来自2000年的docs.下面也说明了这一点.

DECLARE @T TABLE 
(
     code TINYINT PRIMARY KEY,Arabic_CS_AS CHAR(1) COLLATE Arabic_CS_AS NULL,Cyrillic_General_CS_AS CHAR(1) COLLATE Cyrillic_General_CS_AS NULL,Latin1_General_CS_AS CHAR(1) COLLATE Latin1_General_CS_AS NULL
);

INSERT INTO @T(code) VALUES (200),(201),(202),(203),(204),(205)

UPDATE @T 
  SET Arabic_CS_AS=CAST(code AS BINARY(1)),Cyrillic_General_CS_AS=CAST(code AS BINARY(1)),Latin1_General_CS_AS=CAST(code AS BINARY(1))

SELECT * 
FROM @T

结果

code Arabic_CS_AS Cyrillic_General_CS_AS Latin1_General_CS_AS
---- ------------ ---------------------- --------------------
200              И                      
201              Й                      
202              К                      
203              Л                      
204              М                      
205              Н                      

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读