用户操作
[即时聊天] [发私信] [加为好友]
大雨仔ID:stdotleo
154387次访问,排名497好友0人,关注者7
stdotleo的文章
原创 163 篇
翻译 0 篇
转载 3 篇
评论 919 篇
stdotleo的公告

月 [下月] [上月]
最近评论
dong0915hehe:网页打不开 能不能发我邮箱一份 谢谢 dong0915hehe@163.com
zero8500:都有问题的页面

给我传份,谢谢!

eagle998@126.com
zhuhong110450:打不开,请发一份到zhuhong110450@126.com、zhuhong110450@sina.com.十分感谢!
rochael:骗人的
changzizi:打不开,谁给我发一份,谢谢
changzizi@126.com
文章分类
收藏
    相册
    A.南京程序员
    B.聚会相关设计
    C.2004-07-17活动
    D.2004-08-01聚会程序员
    E.2004-08-01聚会现场
    F.在南通的日子
    G.古林公园烧烤
    H.10月的家乡
    I.我的办公环境
    J.我的朋友
    K.我的生活
    Y.我的软件
    Z.其它
    A.我收藏的资源
    CodeProject
    c-sharpcorner
    CSharpHelp
    CSharp语言参考手册
    GotDotNet
    HTTPCN
    MSDN-CHS
    www.codeguru.com
    中国DotNet俱乐部
    孟子E章
    微软中文技术社区
    B.程序员活动网站
    CSDN.上海区
    CSDN.南京区
    CSDN.天津区
    CSDN.山东区
    C.我的朋友的Blog
    Redbb的博客(RSS)
    Shawn -单身汉的天空
    Zhucde的博客(RSS)
    小白的Blog
    花差花差的牛XBlog
    那个谁谁谁的Blog
    阿球的Blog
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 在SQLServer中区分大小写的几种方法收藏

    新一篇: WINDOWS溢出资料 | 旧一篇: CMPP协议的客户端

    今天碰到这个问题了,问了一下朋友,给出了以下几种解决方法,贴出来大家都看一下:
    第一种:(蟋蟀)
    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

    第二种:(tree)
    --创建如下用户自定义函数(UDF)

    CREATE FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))
    --ALTER FUNCTION StrComp(@Str1 VARCHAR(50),@Str2 VARCHAR(50))
    RETURNS INTEGER
    AS
    BEGIN
      DECLARE @i INTEGER
      --DECLARE @Str1 VARCHAR(50)
      --DECLARE @Str2 VARCHAR(50)
      DECLARE @y INT
      --SET @Str1='a'
      --SET @Str2='A'
      SET  @i=0
      --SELECT ASCII(SUBSTRING(@Str1,@i+1,1))
      SET @y=1
      DECLARE @iLen INT
      SET @iLen = LEN(LTRIM(RTRIM(@Str1)))
      IF LEN(LTRIM(RTRIM(@Str1))) < LEN(LTRIM(RTRIM(@Str2))) --THEN
         SET @iLen = LEN(LTRIM(RTRIM(@Str2)))
      WHILE (@i < @iLen)
        BEGIN
          IF (ASCII(SUBSTRING(@Str1,@i+1,1))=ASCII(SUBSTRING(@Str2,@i+1,1))) --THEN
             SET @i = @i +1
          ELSE
             BEGIN
               SET @y=0
               BREAK
             END
          END
         RETURN @y
    END

    测试:
    select *
    from Table1
    Where dbo.StrComp(Field1,'aAbB') =1

    第三种:(Oliver)
    SQL Server 数据库中的文本信息可以用大写字母、小写字母或二者的组合进行存储。例如,姓氏可以"SMITH"、"Smith"或"smith"等形式出现。

    数据库是否区分大小写取决于 SQL Server 的安装方式。如果数据库区分大小写,当搜索文本数据时,必须用正确的大小写字母组合构造搜索条件。例如,如果搜索名字"Smith",则不能使用搜索条件"=smith"或"=SMITH"。

    另外,如果服务器被安装成区分大小写,则必须用正确的大小写字母组合提供数据库、所有者、表和列的名称。如果提供的名称大小写不匹配,则 SQL Server 返回错误,报告"无效的对象名"。

    当使用关系图窗格和网格窗格创建查询时,查询设计器始终正确地反映出服务器是否区分大小写。但是,如果在 SQL 窗格中输入查询,则必须注意使名称与服务器解释名称的方式相匹配。

    如果服务器是用不区分大小写的选项安装的,则
    提示   若要确定服务器是否区分大小写,请执行存储过程 sp_server_info,然后检查第 18 行的内容。如果服务器是用不区分大小写的设置安装的,则 sort_order 选项将设置为"不区分大小写"。可以从查询分析器运行存储过程。

    第四种:(非云)
    select * from servers where convert(varbinary, name)=convert(varbinary, N'RoCKEY')

    第五种:()

    ascii('a')再配合Substring()一起用

    发表于 @ 2004年11月23日 15:13:00|评论(loading...)|编辑

    新一篇: WINDOWS溢出资料 | 旧一篇: CMPP协议的客户端

    评论

    #morepower 发表于2005-01-26 12:37:00  IP:
    TrackBack来自《在SQLServer中区分大小写的几种方法》

    Ping Back来自:blog.csdn.net
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © stdotleo