sql 2008 排序
来源:互联网 发布:奥德利条幅机文泰软件 编辑:程序博客网 时间:2024/06/05 18:56
数据库创建是不去分大小写的,但是今天查询时发现区分大写,经查时字段排训不是没人的的Chinese_PRC_CI_AS.
select * FROM baser_thr.[ETL_DB].[dbo].[ftpConf]
where Fact_No='Wistron_chenge'--0条
--Fact_No='Wistron_ChengDe'--3条
--Fact_No COLLATE Chinese_PRC_CI_AS ='Wistron_chengde'--3条
Fact_No字段排序规则:Chinese_PRC_CS_AS 区分大小写,区分重音
[ftpConf]表排序规则:Chinese_PRC_CI_AS
[ETL_DB].数据库排序规则: Chinese_PRC_CI_AS
baser_thr服务器排序规则:Chinese_PRC_CI_AS
数据库字段内容是'Wistron_ChengDe'所以只有查询条件是'Wistron_ChengDe'或者强制不区分大小写查询才能查到结果
SQL SERVER 2000/2005/2008中默认不区分大小写,可以通过collateChinese_PRC_CS_AS来要求区分大小写,可以通过collateChinese_PRC_CI_AS恢复默认的不区分大小写*/
可以通过设置排序规使其区分大小写,可以分别在创建数据库、修改数据库、创建表的字符型列(char\varchar\nchar\nvarchar等)时指定排序规则来实现。
可以对数据库更改默认的排序规则,alter database 数据库 collate 排序规格
但是却没有办犯没有办法对已有表表进行排序规则的更改,可以对列进行排序规则的更改。
如:
create database test COLLATE Chinese_PRC_CS_AS--这样创建的数据库中区分大小写
alter database test COLLATE Chinese_PRC_CS_AS --修改后的数据库中区分大小写
Create table test(tid int primary key,tname varchar(20) collatechines_prc_cs_as) --这样创建的tname列在使用SELECT 语句时就可以区分大小写了。
对不同排序规则的字段进行匹配时,会发生
消息 468,级别 16,状态 9,第 1 行
无法解决 equal to 操作中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS"之间的排序规则冲突。
在查找的时候,进行规则的更改(不改表的结构属性),既可以实现匹配:
SELECT * FROM SJCCBZ, Order_Motor WHERE
SJCCBZ.OrderID COLLATE Chinese_PRC_CI_AS =Order_Motor.OrderIDCOLLATE Chinese_PRC_CI_AS and SJCCBZ.OrderID='1'ANDOrder_Motor.M_State='已报账'
参考文献:http://yulimeander.blog.sohu.com/138331525.html
http://hi.baidu.com/331360958/blog/item/9d231a8f4bd951fd513d923a
- sql 2008 排序
- 排序SQL
- Sql 排序
- sql排序
- sql 排序
- SQL排序
- sql 排序
- sql 排序
- SQL 排序
- sql 排序
- SQL 排序
- SQL Server 2008 服务器排序规则修改
- sql server 2005/2008修改排序规则
- sql server 2008 存储过程排序记录
- Sql Server 2008 视图不排序
- SQL数据排序 (转贴)
- sql 分组排序
- Ms Sql 随机排序
- Dare to say‘I don’t know’关于说…
- Mysql分表和分区的区别
- mysql 数据库导入\导出(总结备忘)
- 让以前的淘帝起死回生,淘客帝国 n…
- 我心目中中国政府的“十大罪”
- sql 2008 排序
- sql导入导出 excel文件
- 羽绒服10大品牌介绍
- linux history 删除
- tar.gz2 解压缩
- rndc: connect failed 解决
- android中mainifest的一些属性
- yum 常用 命令
- BIND 高级特性 转发 forwarder