SQL:把列改为区分大小写的例子

1.建立一个测试数据库表如下:

CREATE Table dbo.DumpData
(ID INT,
Name VARCHAR(50)
)
INSERT INTO dbo.DumpData
(ID, Name)
VALUES(1, 'abc'),
(2, 'AbC'),
(3, 'aBc'),
(4, 'ABC'),
(5, 'abC'),
(6, 'aBC'),
(7, 'AbC')

2.一开始查询

SELECT * FROM dbo.DumpData 
 WHERE [NAME]= 'abc'
 

3.测试结果不管大小写都显示出来

 

 4.执行下面语句:

SELECT COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'DumpData' AND CHARACTER_SET_NAME IS NOT NULL

结果如下:

 

 5.上面提示Name这列,不区分大小写?(可是为啥我在别的表执行上面那语句,都不会出结果)

6.如果想让查询结果有区分大小写,单纯的SQL语句如下:

SELECT * FROM dbo.DumpData 
WHERE [NAME] COLLATE Latin1_General_CS_AS = 'abc'

7.也可以更改一列,使其区分大小写

ALTER TABLE dbo.DumpData
ALTER COLUMN Name VARCHAR(50)
COLLATE Latin1_General_CS_AS

8.执行上面一句后,查询abc的结果就只出一条,如下:

 

posted @ 2022-08-12 15:55  katesharing  阅读(111)  评论(0)    收藏  举报