sql server默认不区分大小写查询,但是有的时候部分查询语句却需要区分大小写查询,这个时候就需要进行一些特殊处理.区分大小写主要分两种方法. 转二进制判断 select * from table where cast(name as varbinary)=cast('LiYuanBa' as varbinary) --短字符串 select * from table where cast(name as varbinary)=cast('LiYuanBaABCEDEF……' as varb
select a.* from Pair_User a where 1=1 and UPPER(a.UserID) like 'EMH1001%' collate Chinese_PRC_CI_AS_WS and a.UserPassWord=123 _BIN 二进制排序 _CI(CS) 是否区分大小写,CI不区分, CS区分 _AI(AS) 是否区分重音,AI不区分, AS区分 _KI(KS) 是否区分假名类型,KI不区分, KS区分 _WI(WS)
HQL运算符 QBC运算符 含义 = Restrictions.eq() 等于equal <> Restrictions.ne() 不等于not equal > Restrictions.gt() 大于greater than >= Restrictions.ge() 大于等于greater than or equal < Restrictions.lt() 小于less than <= Restrictions.le() 小于等于less than or equal
在写sql的查询时 如下: select * from Users where username='WangE' select * from Users where username='wange' 上面两条查询语句的结果是一样的,这说明username的条件并没有区分大小写. 若要使用上面的的语句能够执行按区分大小写查询 需要在查询的结尾加上 collate Chinese_PRC_CS_AI_WS 完整语句是: select * from Users where username='Wang