zoukankan      html  css  js  c++  java
  • 查询区分大小写

    在sql2000和7.0的查询语句中,区分大写的查询方法

    --sql2000,就用下面的方法.
    --就是在字段名后加 collate Chinese_PRC_CS_AS_WS


    --区分大小写、全半角字符的方法

    --测试数据
    create table 表(fd varchar(10))
    insert into 表
    select aa='aa'
    union all select 'Aa'
    union all select 'AA'   --全角A
    union all select 'A,A'  --全角A,半角,
    union all select 'A,A' --全角A,全角,
    Go

    --查询
    --1.查大写字母
    select * from 表
    where fd collate Chinese_PRC_CS_AS_WS like '%A%'  
    --就是在字段名后加 collate Chinese_PRC_CS_AS_WS

    --2.查全角
    select * from 表
    where fd collate Chinese_PRC_CS_AS_WS like '%A%'

    --3.查半角
    select * from 表
    where fd collate Chinese_PRC_CS_AS_WS like '%,%'
    go

    --删除测试数据
    drop table 表

    /*--测试结果

    1.查询大写字母的结果
    fd         
    ---------- 
    Aa


    2.查询全角字符的结果
    fd         
    ---------- 
    AA
    A,A
    A,A


    3.查询半角字符的结果
    fd         
    ---------- 
    A,A

    (所影响的行数为 1 行)
    --*/

    ================================================================

    --sql7.0,就用下面的方法.

    --如果是全部比较
    --下面是测试
    select * from(
    select fd='a'
    union all select 'A'
    ) a
    where cast(fd as varbinary(8000))=cast('A' as varbinary(8000))

    /*--测试结果
    fd   
    ---- 
    A

    (所影响的行数为 1 行)
    --*/

    --如果是部分匹配,就用charindex:

    --下面是测试
    select * from(
    select fd='a'
    union all select 'A'
    union all select 'aAaa'
    union all select 'aaaa'
    union all select 'cccA'
    ) a
    where charindex(cast('A' as varbinary(8000)),cast(fd as varbinary(8000)))>0

    /*--测试结果
    fd   
    ---- 
    A
    aAaa
    cccA

    (所影响的行数为 3 行)
    --*/

  • 相关阅读:
    某些电脑前面板没声音问题
    安装win10笔记
    linux 时区问题
    JS实现网页飘窗
    缓存promise技术不错哦
    wepy相关
    生成keystore
    2017年终巨献阿里、腾讯最新Java程序员面试题,准备好进BAT了吗
    细思极恐-你真的会写java吗
    年终盘点:Java今年的大事记都在这里!
  • 原文地址:https://www.cnblogs.com/accumulater/p/6097761.html
Copyright © 2011-2022 走看看