SQL Server 数据库如何区分大小写和全角半角

原创
06/05 10:44
阅读数 186

创建时可以使用:

COLLATE Chinese_PRC_CI_AS 不区分大小写(默认)

COLLATE Chinese_PRC_CS_AS 区分大小写

查询时可以使用:

COLLATE Chinese_PRC_CI_AI 不区分大小写(默认)

COLLATE Chinese_PRC_CS_AI 区分大小写

 

设置Sql Server数据库区分大小写的方法:

1、在新建数据库时设置其大小写区分

CREATE DATABASE DBTEST COLLATE CHINESE_PRC_CS_AS

 

2、如果你在创建数据库时没有设置大小写区分,可以修改数据库

ALTER DATABASE DBTEST  COLLATE  CHINESE_PRC_CS_AS

 

3、为某一张表的某一列设置区分大小写

CREATE TABLE T_USER(

USERID INT PRIMARY KEY,

USERNAME VARCHAR(20) COLLATE CHINESE_PRC_CS_AS,

PASSWORD VARCHAR(20) COLLATE CHINESE_PRC_CS_AS

)

 

4、如果你在创建表时没有设置大小写区分,可以修改表

ALTER TABLE T_USER

ALTER COLUMN USERNAME NVARCHAR(20) COLLATE CHINESE_PRC_CS_AS

 

5、如果你在创建数据库或创建表时没有设置其大小写区分,又想在 Sql Server 查询时使其区分大小写,可以使用下面的方法实现,加上 CHINESE_PRC_CS_AS_WS 属性之后,查询的结果就会根据查询条件进行严格匹配

SELECT * FROM T_USER

WHERE USERNAME COLLATE Chinese_PRC_CS_AI = 'user1'

 

SELECT * FROM T_USER

WHERE USERNAME COLLATE Chinese_PRC_CS_AI LIKE 'us%'

 

6、如果你原来创建数据库或表时设置了区分大小写的功能,现在查询时,又不想其区分大小写了,可以在查询中加上Chinese_PRC_CI_AS属性,这样查询结果就不会大小写严格匹配

SELECT * FROM T_USER

WHERE USERNAME COLLATE Chinese_PRC_CI_AI = 'user1'

 

SELECT * FROM T_USER

WHERE USERNAME COLLATE Chinese_PRC_CI_AI LIKE 'us%'

 

7、区分全角半角的属性

区分全角半角

Chinese_PRC_CI_AS_WS 区分全角半角

 

区分大小写和全角半角

Chinese_PRC_CS_AS_WS 区分大小写和全角半角

 

建议:在创建数据库或表时,不要设置其区分大小写,不建议使用1、2、3、4的方法,建议在查询的时候使用Chinese_PRC_CS_AI属性或Chinese_PRC_CI_AI属性,也就是这样方便快捷。

参考文献

《如何设置Sql Server数据库查询时区分大小写和全角半角》https://blog.csdn.net/xianjuke008/article/details/84131979

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部