create table tb(id varchar(10) COLLATE Chinese_PRC_CS_AS , val int) insert into tb values('a' , 1) insert into tb values('a' , 1) insert into tb values('A' , 1) insert into tb values('A' , 1) insert into tb values('A' , 1) insert into tb values('A' , 1) goselect id , count(1) cnt from tb group by id drop table tb/* id cnt ---------- ----------- a 2 A 4(所影响的行数为 2 行) */
数据库是SQL Server 2000。 Hibernate怎么配置hbm文件,让排序的时候区分字母大小写! order by的时候,怎么区分字母的大小写?
ORDER BY ... COLLATE Chinese_PRC_CS_AS (CS 大小写敏感)
还有如果Hibernate采用注解的方式,怎么设置?
我刚才试验了,采用Hibernate的查询,加上这个好像有错误。 from Birthplace order by orders COLLATE Chinese_PRC_CS_AS有错误
我采用Hibernate查询,怎么办?
建库的时候可能把排列规则设置设为 "区分大小写“了, ALTER TABLE yourtable ALTER COLUMN colname typename COLLATE Chinese_PRC_CI_AS
insert into tb values('a' , 1)
insert into tb values('a' , 1)
insert into tb values('A' , 1)
insert into tb values('A' , 1)
insert into tb values('A' , 1)
insert into tb values('A' , 1)
goselect id , count(1) cnt from tb group by id drop table tb/*
id cnt
---------- -----------
a 2
A 4(所影响的行数为 2 行)
*/
Hibernate怎么配置hbm文件,让排序的时候区分字母大小写!
order by的时候,怎么区分字母的大小写?
from Birthplace order by orders COLLATE Chinese_PRC_CS_AS有错误
我采用Hibernate查询,怎么办?
ALTER TABLE yourtable ALTER COLUMN colname typename COLLATE Chinese_PRC_CI_AS
默认是不区分的,不过你可以在安装的时候设置, 请严格按照我下面的步骤来:
c:> net stop mssqlserver
停掉SQL Server的服务.
c:> \\mssql7\binn\rebuildm.exe
运行rebuildm.exe文件已重建master库,更改字符集,排序方式,及大小写敏感.
(它不是要你重装,不要搞错了!!!) 重建好后
c:> net start mssqlserver
启动SQL Server的服务.
我抄别人的
c:> \\mssql7\binn\rebuildm.exe
运行rebuildm.exe文件已重建master库,更改字符集,排序方式,及大小写敏感.
会出现什么呢?让选择排序规则吗?
alter table yourtable alter column colname varchar(50) collate Chinese_PRC_CS_AS
--这样colname列就对大小写敏感了