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的结果就只出一条,如下:

本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/keeplearningandsharing/p/16580316.html
浙公网安备 33010602011771号