zoukankan      html  css  js  c++  java
  • mssql sqlserver 使用sql脚本获取字符串存在多少个网址(url地址)的方法分享

    摘要:
    下文讲述获取一个字符串中存在多少个网址的方法,如下
    实验环境:sql server 2008 R2  
    实现思路:
    1.新建一个自定义函数,可将单个字符串拆分为含单个网址的数据表
    2.采用outer apply将源数据表和函数进行相关的连接

    例:

    ---创建字符串分解函数-将字符串转换为数据表
    create Function stringChangeTable(@tmp varchar(max)) 
    Returns @tab Table 
    ( 
    info varchar(50) 
    ) 
    As 
    Begin 
    set @tmp = @tmp+',' 
    Declare @Istr varchar(50) --截取后的第一个字符串 
    Declare @strTmp varchar(max) --截取第一个字符串后剩余的字符串 
    set @Istr = left(@tmp,charindex(',',@tmp)-1) 
    set @strTmp = stuff(@tmp,1,charindex(',',@tmp),'') 
    Insert @tab Values(@Istr) 
    while(len(@strTmp)>0) 
    begin 
    set @Istr = left(@strTmp,charindex(',',@strTmp)-1) 
    Insert @tab Values(@Istr) 
    set @strTmp = stuff(@strTmp,1,charindex(',',@strTmp),'') 
    end 
    Return 
    End
    
    go
    
     
    
    CREATE TABLE [maomao365]
    (
    keyId int identity(1,1),
    url varchar(888)
    )
    go
    
    insert into [maomao365](url)
    values
    ('http://www.maomao365.com,http://www.163.com'),
    ('http://www.linux28.com,http://www.qq.com'),
    ('http://www.baidu.com,http://www.cnblogs.com'),
    ('http://www.google.com,http://www.dch.com')
    go
    
    
    SELECT * FROM [maomao365] OUTER APPLY dbo.stringChangeTable(url)
    
    go
    
    truncate table [maomao365]
    drop table [maomao365]
    
    go
    
    drop function dbo.stringChangeTable

    转自:http://www.maomao365.com/?p=8657

  • 相关阅读:
    JavaScript_01简介,基本语法,运算符
    JAVA_内部类
    JAVA_接口_默认方法&静态方法
    软件工程_01面向对象分析
    mybatis_16逆向工程
    mybatis_15整合ehcache
    mybatis_14二级缓存
    mybatis_13一级缓存
    mybatis_12延时加载_懒加载
    JWT如何在Spring Cloud微服务系统中在服务相互调时传递
  • 原文地址:https://www.cnblogs.com/lairui1232000/p/10898769.html
Copyright © 2011-2022 走看看