• SQL小技巧总结。


    一、SQL SERVER如何判断某个字段包含大写字母

    View Code

    sql语句中默认是不区分大小写的,所以语句: 

    Sql代码 
    SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName = 'QQ' 
    和 
    Sql代码 
    SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName = 'qq' 

    查到的结果是一样的。 

     

    如果查询的时候需要区分大小写,需要使用collate Chinese_PRC_CS_AS_WS来进行查询。

    SELECT * FROM RecEngineBizInfo WHERE RecEngineBizName collate Chinese_PRC_CS_AS_WS= 'QQ' 

     

    要查看某个字段是否包含大写字母 A 的脚本为: 
    Sql代码 
    select * from RecEngineBizInfo where RecEngineBizName collate Chinese_PRC_CS_AS_WS like '%A%' 
    http://www.2cto.com/ 
    要查看某个字段是否包含 大写字母 的脚本为: 
    Sql代码 
    SELECT * FROM RecEngineBizInfo rebi 
    WHERE rebi.RecEngineBizName COLLATE Chinese_PRC_CS_AS 
    like '%[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%' 

    要查看某个字段是否包含 连续两个大写字母 的脚本为: 
    Sql代码 
    SELECT * FROM RecEngineAttributeInfo reai 
    WHERE reai.ZhiLing COLLATE Chinese_PRC_CS_AS 
    like '%[ABCDEFGHIJKLMNOPQRSTUVWXYZ][ABCDEFGHIJKLMNOPQRSTUVWXYZ]%' 

    依次类推。 

    详细出处参考:http://www.jb51.net/article/32063.htm

     

    二、SqlServer数据库全角转换成半角

    View Code
    CREATE FUNCTION f_Convert
        (
          @str NVARCHAR(max) , --要转换的字符串 
          @flag BIT --转换标志,0转换成半角,1转换成全角 
        )
    RETURNS NVARCHAR(4000)
    AS 
        BEGIN 
            DECLARE @pat NVARCHAR(8) ,
                @step INT ,
                @i INT ,
                @spc INT 
            IF @flag = 0 
                SELECT  @pat = N'%[!-~]%' ,
                        @step = -65248 ,
                        @str = REPLACE(@str, N'  ', N' '
            ELSE 
                SELECT  @pat = N'%[!-~]%' ,
                        @step = 65248 ,
                        @str = REPLACE(@str, N' ', N'  '
            SET @i = PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN, @str
            WHILE @i > 0 
                SELECT  @str = REPLACE(@strSUBSTRING(@str@i1),
                                       NCHAR(UNICODE(SUBSTRING(@str@i1))
                                             + @step)) ,
                        @i = PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN, @str
            RETURN(@str
        END 


    --调用。
    SELECT  id,dbo.f_Convert(NAME, 1AS 'Name' FROM    dbo.T_User   
     
    id Name
    2 李,四             
    3 王,五             
    4 赵六               
    5 qq               
    6 QQ                 


     

  • 相关阅读:
    【LeetCode】1. Two Sum
    框架
    表单
    JavaScript写计算器
    导航下拉菜单代码
    注册表代码
    简易表格代码
    HTML (超文本标记语言)
    PHP学习目标
    升级python到最新2.7.13
  • 原文地址:https://www.cnblogs.com/51net/p/2999724.html
Copyright © 2020-2023  润新知