zoukankan      html  css  js  c++  java
  • SQL SERVER 2000/2005中默认不区分大小写

    转载自:http://hi.baidu.com/qiansoft/blog/item/352a0e0195cfd0097aec2cdf.html

    /*SQL SERVER 2000/2005中默认不区分大小写,可以通过collate Chinese_PRC_CS_AS来要求区分大小写,可以通过collate Chinese_PRC_CI_AS恢复默认的不区分大小写*/

    --建立测试数据库
    create database test
    --collate Chinese_PRC_CS_AS用于alter database中,改变不区分大小写的默认设置
    alter database test collate Chinese_PRC_CS_AS
    --选择测试数据库
    use test
    --若t表存在则删除
    if object_id('t') is not null drop table t
    --建测试表
    create table t(a int identity(1,1) primary key,b varchar(10))
    --插入测试数据
    insert into t values('abc')
    insert into t values('ABC')
    --下面语句将只得到b列为小写abc的结果
    select * from t where b='abc'
    --collate Chinese_PRC_CI_AS用于alter table中,不要求区分大小写
    alter table t alter column b varchar(10) collate Chinese_PRC_CI_AS
    --由于上面alter table语句,下面将得到b列为大小写abc的结果
    select * from t where b='abc'
    ----collate Chinese_PRC_CS_AS用于select中,要求区分大小写,下面语句将只得到b列为小写abc的结果
    select * from t where b collate Chinese_PRC_Cs_AS ='abc'
    --collate Chinese_PRC_CS_AS用于建表中,可对列是否包含英文字母进行检查约束
    create table tt
    (
    a int identity(1,1) primary key,
    b varchar(10) collate Chinese_PRC_CS_AS check (upper(b)<>lower(b)),
    c varchar(10) collate Chinese_PRC_CS_AS check (upper(c)=lower(c))
    )
    --测试
    insert into tt values('a12','123')--成功
    insert into tt values('123','123')--违反约束,b列要有英文字母
    insert into tt values('Abc','a123')--违反约束,c列不能有英文字母

  • 相关阅读:
    QT 信号与槽 中传递自定义数据类型
    keil5 仿真时发现函数不能进入到main函数
    QT 报错分析 一
    QT 简易时间处理
    QT 编译出现 Custom Executable 对话框 问题
    win10 下装ubuntu双系统
    Vmware linux下不能联网
    Vmware Workstation
    免费在线作图,实时协作
    SVN常用问题汇总
  • 原文地址:https://www.cnblogs.com/icebutterfly/p/1370246.html
Copyright © 2011-2022 走看看