将Process表中Assy字段的值都转化为大写,Test字段的值都转化为小写,例子如下:
UPDATE Process SET Assy = upper(Assy), Test = LOWER(Test)
具体实施步骤:
0重装一个sql server实例进行改排序规则测试,打sp4补丁
在原来的服务器上重新安装sql server,安装为另外一个实例webtw,此时这个实例的master库都是简体中文的排序规则Chinese_PRC_CI_AS
1连接多个sql server实例的方法是:127001\webtw
2重建master等系统库,改变排序规则为Chinese_Taiwan_Bopomofo_CI_AS
方法:
运行 Rebuildmexe。该程序位于 Program Files\Microsoft SQL Server\80\Tools\Binn 目录中。
在"重建 Master"对话框中单击"浏览"按钮。
在"浏览文件夹"对话框中,选择 SQL Server 2000 光盘上或用于安装 SQL Server 2000 的共享网络目录中的 \Data 文件夹,然后单击"确定"按钮。
在"排序规则设置"对话框中,验证或更改用于 Master 数据库或其它数据库的设置。
在"重建 Master"对话框中单击"重建"按钮以启动进程。
3重建master后,重启sql server服务
4新建数据库,因为服务器级的排序规则已经是台湾的排序规则了,默认的数据库级的排序也就是Chinese_Taiwan_Bopomofo_CI_AS
5使用DTS拖回原来的表,视图,存储过程(这个步骤我没有选drop列上的对象)
6对拖回的表的每个拥有排序规则的列的排序规则删掉(即为默认排序规则)这一步骤比较累,应该有简单的方法,这里我选择了麻烦的方法lol
7做好以上的步骤后,发现这个新实例上新建的linkserver(连mysql的)不能使用,服务器选项里的兼容排序规则和远程排序规则我都试了,还是不行,暂时放弃
8结论:排序规则能不改就不要改;mysql的linkserver问题多(mysql odbc的驱动还是问题多多)
9:13:58 AMAdd a commentSend a messagePermalinkTrackbacks (0)
在sql2000和70的查询语句中--区分大小写、全半角字符的方法--查询--1查大写字母.区分全角半角select from 表where fd collate Chinese_PRC_CS_AS_WS like '%A%' --就是在字段名后加 collate Chinese_PRC_CS_AS_WS --1查大写字母.不区分全角半角select from 表where fd collate Chinese_PRC_CS_AS like '%A%' --就是在字段名后加 collate Chinese_PRC_CS_AS --2查全角.区分大小写select from 表where fd collate Chinese_PRC_CS_AS_WS like '%A%' --3查全角.不区分大小写select from 表where fd collate Chinese_PRC_CI_AS_WS like '%A%' 排序规则的后半部份即后缀 含义: _BIN 二进制排序 _CI(CS) 是否区分大小写,CI不区分,CS区分 _AI(AS) 是否区分重音,AI不区分,AS区分 _KI(KS) 是否区分假名类型,KI不区分,KS区分 _WI(WS) 是否区分宽度 WI不区分,WS区分
使用 CONTAINS 谓词
可以使用 CONTAINS 谓词在数据库中检索特定的短语。当然,这样的查询可以使用 LIKE 谓词编写。但是,CONTAINS 的许多形式所提供的文本查询能力比 LIKE 要强。此外,与使用 LIKE 谓词不同的是,CONTAINS 检索总是区分大小写。
说明 对于那些区分大小写的语言(多数都基于拉丁语),全文检索查询以区分大小写的方式执行。但是,在日语中,有许多表示语音的拼字法,其中拼字规范化这一概念与不区分大小写类似,如 kana = 不区分。这种拼字规范化不被支持。
假定想在 Northwind 数据库内进行搜索,以查找短语"bean curd"。如果使用 CONTAINS 谓词,这就是一个很简单的查询。
USE Northwind
GO
SELECT Description
FROM Categories
WHERE Description LIKE '%bean curd%'
GO
或者,使用 CONTAINS:
USE Northwind
GO
SELECT Description
FROM Categories
WHERE CONTAINS(Description, ' "bean curd" ')
GO
CONTAINS 谓词使用的函数表示法中,第一个参数是要检索的列的名称,第二个参数是全文检索条件。检索条件(此例中是"bean curd")可以很复杂,由一个或多个条件组成,这将在后面介绍。
CONTAINS 谓词支持使用复杂的语法在基于字符的列中检索:
一个或多个特定的单词和/或短语(简单条件)。
一个单词是一个或多个字符,中间没有空格或标点。有效的短语可以由带空格的多个单词组成,单词之间可以有标点也可以没有标点。例如,croissant 是一个单词,而 café au lait 是一个短语。这样的单词和短语称为简单条件。
特定单词的变形(派生条件)。
例如,检索单词 drive 的变形。如果表中的不同行包含单词 drive、drives、drove、driving 和 driven,那么所有这些都将包含在结果集中,因为其中每一个都可以从单词 drive 变形而来。
以指定文本(前缀条件)打头的单词或短语。
如果是短语,则该短语内的每个单词都被看作是一个前缀。例如,条件 auto tran 与 automatic transmission 和 automobile transducer 匹配。
使用加权值的单词或短语(加权条件)。
例如,查找一个赋权值比另一个单词高的单词。这将返回排序的查询结果。
与另一个单词或短语相近的单词或短语(邻近条件)。
例如,查找一些行,这些行中单词 ice 与 hockey 相邻,或者短语 ice skating 与 ice hockey 相邻。
CONTAINS 谓词可以用 AND 和 OR 将这些条件中的几个结合起来,例如,要查找同一个启用全文的数据库列中所有有 latte 和 New York-style bagel 的行。不仅如此,还可以使用 AND NOT 对条件取反,例如 bagel and not cream cheese。
在使用 CONTAINS 时,记住 SQL Server 将从检索条件中去掉干扰词。干扰词是象 a、and、is 或 the 这样的词,这些词可能经常出现,但是在检索特定文本时没有真正的帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)