科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道如何使用SQL Server校勘功能(1)

如何使用SQL Server校勘功能(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

校勘(collation)是指对代码页、字母大小写、音调、语言和字母表的整理,很多校勘都是在数据进入数据库之前进行的。

作者:builder.com 来源:builder.com 2007年8月28日

关键字: 校勘 数据库 SQL Server SQL Server 各版本

  • 评论
  • 分享微博
  • 分享邮件
 

校勘(collation)是指对代码页、字母大小写、音调、语言和字母表的整理,很多校勘都是在数据进入数据库之前进行的,根据我的经验,北美的大部分数据库管理员都在使用默认的大小写敏感的校勘设定,这对于数据本身没有影响,但是对于数据的比较和索引会造成影响。

这篇文章将向您介绍一些相关的校勘方法,以及数据库对多种字符集的处理方法。

为了说明校勘的使用,我们首先来创建一个数据库,列表A给出了创建数据库的代码。

CREATE SCHEMA CaseCheck

GO


CREATE TABLE CaseCheck.Names
(
NamePK Int Identity(1,1) PRIMARY KEY,
Name Varchar(50) NOT NULL
)
GO


INSERT INTO CaseCheck.Names VALUES ('Fuller')
INSERT INTO CaseCheck.Names VALUES ('FuLLer')
INSERT INTO CaseCheck.Names VALUES ('FULLER')
INSERT INTO CaseCheck.Names VALUES ('fuller')
GO

列表A

列表B是一些查询,对于大小写不敏感的情况,这几个查询将返回相同的四个数据行,但是如果我们的任务是从数据行中选取大小写完全匹配的记录呢?

SELECT * FROM CaseCheck.Names    
SELECT * FROM CaseCheck.Names WHERE Name = 'fuller'    
SELECT * FROM CaseCheck.Names  WHERE Name = 'FULLER'    
SELECT * FROM CaseCheck.Names WHERE Name = 'fuller'    

GO

列表 B

现在我们就要使用校勘的功能了,尽管在数据库创建的时候,数据库管理员已经指定了校勘的选项,但是您可以通过WHERE语句中的COLLATE选项来使用不同的校勘设定,在列表C的查询中,前三个都返回了一条记录,而最后一个查询的返回结果为空。

SELECT * FROM CaseCheck.Names  WHERE Name = 'fuller'    
COLLATE Latin1_General_CS_AS
 SELECT * FROM CaseCheck.Names WHERE Name = 'FULLER'    
COLLATE Latin1_General_CS_AS    
 SELECT * FROM CaseCheck.Names WHERE Name = 'fuller'    
COLLATE Latin1_General_CS_AS
 SELECT * FROM CaseCheck.Names WHERE Name = 'FUllER'    
COLLATE Latin1_General_CS_AS
 GO

列表 C
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章