解析多参数传递问题

  

  • 概述:
    当我们获取传递多个参数的时候,通常都是得到一串字符传递的文本格式。
    如:‘3115,6904,3226,3119,1173‘;但是这样的格式在SQL解析的时候仅仅是一个字符串,而非多个字段参数。这个时候需要我们用指定的函数去解析他们。
  • 代码:

     1 CREATE FUNCTION [dbo].[Fn_ParsingMorePar]
     2 (
     3     @Par VARCHAR(MAX)
     4 )
     5
     6 RETURNS @TABLE TABLE(Code VARCHAR(100))
     7 AS
     8 BEGIN
     9
    10     DECLARE @XML XML
    11     SELECT @XML =
    12     ‘
    13     <Data>
    14         <Item>
    15             <Code>‘ + REPLACE(@Par,‘,‘,‘</Code></Item><Item><Code>‘) + ‘</Code>
    16         </Item>
    17     </Data>
    18     ‘
    19     INSERT @TABLE
    20     SELECT DISTINCT T.Col.query(‘Code‘).value(‘.[1]‘, ‘VARCHAR(100)‘) AS Code
    21     FROM @XML.nodes(‘//Data/Item‘) AS T(Col)
    22     RETURN
    23 END

  • 执行结果:

    1 SELECT * FROM dbo.Fn_ParsingMorePar(‘3115,6904,3226,3119,1173‘)

  • 解析的XML代码

     1 <Data>
     2     <Item>
     3         <Code>3115</Code>
     4     </Item>
     5     <Item>
     6         <Code>6904</Code>
     7     </Item>
     8     <Item>
     9         <Code>3226</Code>
    10         </Item>
    11     <Item>
    12         <Code>3119</Code>
    13     </Item>
    14     <Item>
    15         <Code>1173</Code>
    16     </Item>
    17 </Data>
    18     

时间: 2024-08-08 15:09:56

解析多参数传递问题的相关文章

解析 .Net Core 注入——注册服务

在学习 Asp.Net Core 的过程中,注入可以说是无处不在,对于 .Net Core 来说,它是独立的一个程序集,没有复杂的依赖项和配置文件,所以对于学习 Asp.Net Core 源码的朋友来说,注入作为一个起点非常合适,园子里确实有许多关于注入的博客,不过 .Net Core2.0 已经出来了,注入这一块做了一些 更新,其实有不少 .net 开发人员对微软改来改去这一点不是很满意,加大了学习成本,其实改动分为两种,一种是 Asp.Net Core Mvc 常用 Api 接口的更改(或者

深入理解net core中的依赖注入、Singleton、Scoped、Transient(一)

相关文章: 深入理解net core中的依赖注入.Singleton.Scoped.Transient(一) 深入理解net core中的依赖注入.Singleton.Scoped.Transient(二) 深入理解net core中的依赖注入.Singleton.Scoped.Transient(三) 深入理解net core中的依赖注入.Singleton.Scoped.Transient(四) 在学习 Asp.Net Core 的过程中,注入可以说是无处不在,对于 .Net Core 来说

Java中String类型的参数传递问题的解析

一.引入示例 public class StringAsParamOfMethodDemo { public static void main(String[] args) { StringAsParamOfMethodDemo sapm = new StringAsParamOfMethodDemo(); sapm.testA(); } private void testA() { String originalStr = "original"; System.out.println

将Lambda表达式作为参数传递并解析-在构造函数参数列表中使用Lambda表达式

public class DemoClass { /// <summary> /// 通过Lambda表达式,在构造函数中赋初始值 /// </summary> /// <param name="propertyFunc"></param> /// <param name="propertyValue"></param> public DemoClass (Expression<Func&

测开之路一百二十五:flask之urlencode参数传递和解析

当get请求传参时,用?分隔参数和域名,用&分隔参数,如果参数里面本身就有&符号就会识别不出来,还是会当成分隔符,所以这些数据在传输的时候,就需要转义,现在普遍是转成urlencode编码:%20%xx%23 在jinja2模板里面,可以使用 data|urlencode 发送urlencode编码,而python里面又有urllib.parse.unquote()可以解析urlencode编码 视图函数 html:访问"/"返回html,在html上面点击超链接时请求

[工作bug]c:import参数传递问题解析

一.起因: 在项目的工厂中,由于某个界面根据产品种类显示的产品属性均不相同,所以决定将界面进行拆分,将每一个产品写入一个jsp界面,分别命名为product0.jsp.product1.jsp,在主界面根据产品id,分别用<c:import>标签引入对应的界面即可. 这样做的好处是:将可变得界面进行解耦之后,如果增加一个产品,仅需增加一个界面即可,不会影响到其他界面的元素,便于横向扩展,减少了原来主界面的代码量,提升了维护性. 因为引入界面时候,有一个参数需要传递到被引入界面,却引发了个小小的

Struts2将前台参数传递到action的完整过程解析

先来说说Struts2(由于Struts1表现层单一,无法跟Freemarker等技术整合),它采用拦截器的机制来处理用户的请求. 先来讲讲Struts2的原理图,如上图所示: 1.当用户发起请求时(一个URL),服务器端的Web容器收到了请求. 2.这时,Struts2的核心控制器FilterDispatcher接受用户发起的请求,然后判断这个请求是交给action处理?还是交给web组件来处理?如果请求的action或web组件不存在,则报404错误.在整个处理过程中,需要一个辅助对象:Ac

关于在php中使用curl发送get请求时参数传递问题的解析

get请求是最简单的请求,不过要注意自己的请求是http请求还是https的请求,因为https请求时要关闭SSL验证,不然验证通不过,没有办法请求到数据. GET请求的参数 get传递参数和正常请求url传递参数的方式一样 1 function get_info($card){ 2 $url ="http://www.sdt.com/api/White/CardInfo?cardNo=".$bank_card; 3 $ch = curl_init(); 4 //设置选项,包括URL

MyBatis框架中Mapper映射配置的使用及原理解析(七) MapperProxy,MapperProxyFactory

从上文<MyBatis框架中Mapper映射配置的使用及原理解析(六) MapperRegistry> 中我们知道DefaultSqlSession的getMapper方法,最后是通过MapperRegistry对象获得Mapper实例: public <T> T getMapper(Class<T> type, SqlSession sqlSession) { final MapperProxyFactory<T> mapperProxyFactory =