zoukankan      html  css  js  c++  java
  • SQL in(x,y,z)时自动补全单引号

    由于项目中经常会用到在查询SQL的时候用到 字段 in( xx ) 的情况,但是每次在组织SQL的时候都会 大量使用 "'"+ x + "'" 这样写代码无疑非常操蛋。

    所以我想到不如直接带入所有参数格式为 a,b,c 不用 ' 符号, 然后在SQL里面写一个函数将 a,b,c 分解为 'a','b','c' 或者分解为一个表也可以让in成立。

    一、a,b,c 组合为 'a','b','c'

      

    -----------------------------string
    DECLARE @INPUT NVARCHAR(200) 
    DECLARE @CHAR NVARCHAR(200) = ','
    DECLARE @RESULT NVARCHAR(200)  = ''
    DECLARE @INPUTLENGTH INT
    SET @INPUT = 'my,name,is,afei'
    SET @INPUTLENGTH = LEN(@INPUT)
    
    WHILE CHARINDEX(@CHAR,@INPUT) <> 0
    BEGIN 
        -- 截取一个到','的字符串x 并格式成 'x' 
        SELECT @RESULT += char(39)  + substring(@INPUT,1,CHARINDEX(@CHAR,@INPUT)-1)+ char(39)+ @CHAR
        -- 截取被截取后的字符串
        ,@INPUT = SUBSTRING(@INPUT,CHARINDEX(@CHAR,@INPUT,0)+LEN(@CHAR),LEN(@INPUT))
        
        -- 当最后截取的字符串为不包含隔断符号','时,直接加上单引号返回
        IF CHARINDEX(@CHAR,@INPUT) = 0
            SELECT @RESULT += char(39) + @INPUT+ char(39)
            RETURN @RESULT
    END    
    a,b,c 分

     二、a,b,c 分解为表

    -----------------------------table
    DECLARE @CHAR NVARCHAR(200) 
    DECLARE @INPUT NVARCHAR(200)
    DECLARE @List TABLE (item VARCHAR(8000))
    
    SET @CHAR = ','
    SET @INPUT = 'my,name,is,afei'
    
    BEGIN
        DECLARE @sItem VARCHAR(8000)
        WHILE CHARINDEX(@CHAR,@INPUT,0) <> 0 
        BEGIN 
            -- 截取一个到','的字符串
            SELECT  @sItem=SUBSTRING(@INPUT,1,CHARINDEX(@CHAR,@INPUT,0)-1),
            -- 截取被截取后的字符串
            @INPUT=SUBSTRING(@INPUT,CHARINDEX(@CHAR,@INPUT,0)+LEN(@CHAR),LEN(@INPUT))
            
            IF LEN(@sItem) > 0  
                INSERT INTO @List SELECT @sItem 
        END
        -- 添加最后一个字符串
        IF LEN(@INPUT) > 0 
            INSERT INTO @List SELECT @INPUT
        RETURN
    END
  • 相关阅读:
    Sublime 官方安装方法
    Notepad2、Sublime_text带图标的右键快捷打开方式
    创业公司如何实施敏捷开发
    如果有人让你推荐编程技术书,请叫他看这个列表
    Spring cron表达式详解
    Spring定时任务的几种实现
    spring注解方式 idea报could not autowire,eclipse却没有问题
    mysql处理海量数据时的一些优化查询速度方法
    Hexo重装小结
    修改JAVA代码,需要重启Tomcat的原因
  • 原文地址:https://www.cnblogs.com/leeafei/p/6386241.html
Copyright © 2011-2022 走看看