SQL查询区分大小写

以下几种方案

SELECT *

FROM 表名

WHERE 字段名='test' collate Chinese_PRC_CS_AI_WS

CI 指定不区分大小写,CS 指定区分大小写。

AI 指定不区分重音,AS 指定区分重音。

Omitted 指定不区分大小写,WS 指定区分大小写。

注:hibernate中不适用,具体方法正在查找中...

而这个作者列举的更多:

今天碰到这个问题了,问了一下朋友,给出了以下几种解决方法,贴出来大家都看一下:

第一种:(蟋蟀)

ALTER TABLE tb

ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS

--不区分大小写

ALTER TABLE tb

ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS

--区分大小写

alter database 数据库 COLLATE Chinese_PRC_CS_AS

注:以上技术经测试不适合access数据库

StrComp   函数   

   返回   Variant   (Integer),为字符串比较的结果。   

   语法       

  StrComp(string1,   string2[,   compare])       

  StrComp   函数的语法有下面的命名参数:       

  部分   说明     

  string1   必要参数。任何有效的字符串表达式。     

  string2   必要参数。任何有效的字符串表达式。     

  Compare   可选参数。指定字符串比较的类型。如果   compare   参数是   Null,将发生错误。如果省略   compare  Option   Compare   的设置将决定比较的类型。     

       

   设置   

    

  compare   参数设置为:   

    

  常数      描述     

  vbUseCompareOption   -1   使用Option   Compare语句设置执行一个比较。     

  vbBinaryCompare   0   执行一个二进制比较。     

  vbTextCompare   1   执行一个按照原文的比较。     

  vbDatabaseCompare   2   仅适用于Microsoft   Access,执行一个基于数据库信息的比较。     

    

    

    

  返回值   

    

  StrComp   函数有下列返回值:   

    

  如果   StrComp   返回     

  string1   小于   string2   -1     

  string1   等于   string2   0     

  string1   大于   string2   1     

  string1      string   2   Null   Null     

    

StrComp   函数示例   

  本示例使用   StrComp   函数来比较两个字符串。如果第三个参数值为   1,字符串是以文本比较的方式进行比较;如果第三个参数值为   0   或是缺省,则以二进制比较的方式进行比较。   

    

  文本比较方式会将大小写字母视为一样,但二进制比较方式则视为不同。   

    

  Dim   MyStr1,   MyStr2,   MyComp   

  MyStr1   =   "ABCD":   MyStr2   =   "abcd"         '   定义变量。   

  MyComp   =   StrComp(MyStr1,   MyStr2,   1)         '   返回   0   

  MyComp   =   StrComp(MyStr1,   MyStr2,   0)         '   返回   -1   

  MyComp   =   StrComp(MyStr2,   MyStr1)         '   返回   1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值