背景:SQL Server 2008 R2的默认实例为【Chinese_PRC_CI_AS】,这个排序规则不支持生僻字“㑺”等的排序(会将生僻字放在第一条),所以需修改为【Chinese_Simplified_Pinyin_100_CI_AS】。
1、右键库,选择选项--排序规则。
确定即可(其实所做的操作相当于sql脚本):
ALTER DATABASE [数据库名称] COLLATE Chinese_Simplified_Pinyin_100_CI_AS
2、确定执行脚本时可能出现库依赖问题:
解决思路方案如下:
先备份依赖,然后删除依赖,执行更改规则的脚本后再添加依赖
---先删除依赖:
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[fn_Birthday]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
BEGIN
drop function fn_Birthday
END
--后添加上去:
GO
/*****************************************************************
**功能:计算指定年份的生日
**返回:日期
******************************************************************/
CREATE FUNCTION fn_Birthday(@intYear int,@dtmBirthday datetime)
RETURNS datetime
WITH SCHEMABINDING
AS
BEGIN
RETURN case when isdate( convert(varchar(4),@intYear)+'-'+convert(varchar(2),month(@dtmBirthday))+'-'+convert(varchar(2),day(@dtmBirthday)) )=1
then convert(datetime,convert(varchar(4),@intYear)+'-'+convert(varchar(2),month(@dtmBirthday))+'-'+convert(varchar(2),day(@dtmBirthday)) ) else null end
END
GO