小工具      在线工具  汉语词典  css  js  c++  java

SQL分段和重复数据删除

sql,sql 额外说明

收录于:40天前

-----------创建实现split功能 的函数------------
create function f_split(@SourceSql varchar(8000),@StrSeprate varchar(10))
returns @temp table(a varchar(100))
as
begin
    declare @i int
    set @SourceSql=rtrim(ltrim(@SourceSql))
    set @i=charindex(@StrSeprate,@SourceSql)
    while @i>=1
    begin
        insert @temp values(left(@SourceSql,@i-1))
        set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
        set @i=charindex(@StrSeprate,@SourceSql)
    end
    if @SourceSql<>''
       insert @temp values(@SourceSql)
    return
end
GO

-----------创建实现split并去重功能 的函数------------
create function SplitAndDistinct(@SourceStr varchar(500),@StrSeprate varchar(10))
    returns varchar(500)
AS
begin
declare @pos int
declare @ret varchar(20)
declare @table table(ret varchar(20))
declare @SplitAndDistinctStr varchar(500)
select @SourceStr = @SourceStr + @StrSeprate
select @pos = charindex(@StrSeprate,@SourceStr)
while @pos > 0
begin
    select @ret = substring(@SourceStr,1,@pos-1)
    insert into @table select @ret
    select @SourceStr = stuff(@SourceStr,1,@pos,'')
    select @pos = charindex(@StrSeprate,@SourceStr)
end
select @SplitAndDistinctStr = ''
select @SplitAndDistinctStr = @SplitAndDistinctStr + @StrSeprate + ret from (select distinct ret from @table) t
return @SplitAndDistinctStr
end
GO

- - - - - -测试 - - - - - -

select distinct * from dbo.f_split('123|abc|000|777|000 |111', '|')
Go
select  dbo.SplitAndDistinct('123|abc|000|777|000|111 ', '|')

. . .

相关推荐

额外说明

JS判断当前访问设备是否是手机/平板/电脑?

 JS判断当前访问设备是手机/平板/电脑? 一、程序代码  <script> var os = function () { var ua = navigator.userAgent, isWindowsPhone = /(?:Wind

额外说明

Docker安装MySQL教程

本文教你如何快速通过Docker安装MySQL。 目录 一、搜索镜像 二、拉取镜像 三、运行容器 四、连接测试 五、简单小结  一、搜索镜像 docker search mysql 可以看到这里有很多个版本,本教程将采用常用的5.7版本进行安装  二、拉

额外说明

J2EE cookie模拟代码

index.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <bo

额外说明

Unity 实战篇 |【点名神器2.0】可直接导入Excel文档在电脑中使用,新增点名历史、排行榜功能

-博客主页:https://blog.csdn.net/zhangay1998 -欢迎点赞 - 收藏 ⭐留言 - 如有错误敬请指正! -本文由 呆呆敲代码的小Y 原创,首发于 CSDN- -未来很长,值得我们全力奔赴更美好的生活✨ 目录 -前言 -【点名

额外说明

数据可视化——绘制带有时间线的柱状图

文章目录 前言 如何绘制柱状图 添加时间线 根据提供的数据绘制动态柱状图 读取并删除无用数据 将数据转换为字典 创建柱状图并添加到时间线中 配置选项并生成带有数据的折线图 前言 我们已经学习了使用 pyecharts 包中的模块和相应的方法绘制了折线图和

额外说明

[Qt 教程之开始的开始] —— Qt 5.15 之后版本的在线安装与卸载

Qt系列教程总目录 文章目录 一、下载安装包 二、安装 三、卸载 最近又用到Qt,发现Qt6.2都出来了,而且找不到安装包。。。。 经搜索,发现5.15(包括5.15)之后,官方不再提供单独安装包,需要在线安装。 整理Qt在线安装方法如下: 一、下载安装

额外说明

Java八股文大厂面试宝典——第四期(多线程)

当看到这篇文章,那么我们就有一个共同的目标,进大厂,为了大厂梦,冲 Jvva大厂面试第四期: 主要对Java多线程部分中常见的面试题进行了总结 多线程 1.创建线程有哪几种方式? 2.run()和start()有什么区别? 3.如何实现线程同步? 4.说

额外说明

OpenCV实战(17)——FAST特征点检测

OpenCV实战(17)——FAST特征点检测 0. 前言 1. FAST 特征点检测 2. 自适应特征检测 3. 完整代码 小结 系列链接 0. 前言 Harris 算子根据两个垂直方向上的强度变化率给出了角点(或更一般地说,兴趣点)的数学定义。但使用

额外说明

WIN11系统提示找不到vcomp140.dll文件解决办法

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个vcomp140.dll文件进行安装(前提是找到适合的版本),

额外说明

[欧拉计划] 甚至斐波那契数

问题链接:偶数斐波那契数 解法一:暴力枚举 看见题目,第一反应就是先找到小于400万的所有斐波那契数,再从这些斐波那契数中筛选出偶数进行求和。 由于递归方法求斐波那契数的时间复杂度较高,故这里采用迭代的方法。 先通过循环逐个计算每个斐波那契数,直到达到了

ads via 小工具