SQL里面用自定义Split()完成个性化需求

为了满足需求自定义Split()在SQL中实现,代码很整洁,感兴趣的朋友可以参考下,或许对你学习sql语句有所帮助

代码如下:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE function [dbo].[SplitString]
(
@Input nvarchar(max),
@Separator nvarchar(max)=’,’,
@RemoveEmptyEntries bit=1
)
returns @TABLE table
(
[Id] int identity(1,1),
[Value] nvarchar(max)
)
as
begin
declare @Index int, @Entry nvarchar(max)
set @Index = charindex(@Separator,@Input)
while (@Index>0)
begin
set @Entry=ltrim(rtrim(substring(@Input, 1, @Index-1)))
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry”)
begin
insert into @TABLE([Value]) Values(@Entry)
end
set @Input = substring(@Input, @Index+datalength(@Separator)/2, len(@Input))
set @Index = charindex(@Separator, @Input)
end
set @Entry=ltrim(rtrim(@Input))
if (@RemoveEmptyEntries=0) or (@RemoveEmptyEntries=1 and @Entry”)
begin
insert into @TABLE([Value]) Values(@Entry)
end
return
end

函数、表都建好了,下面调用测试一下吧:
代码如下:
declare @str1 varchar(max), @str2 varchar(max), @str3 varchar(max)
set @str1 = ‘1,2,3’
set @str2 = ‘1###2###3’
set @str3 = ‘1###2###3###’
select [Value] from [dbo].[SplitString](@str1, ‘,’, 1)
select [Value] from [dbo].[SplitString](@str2, ‘###’, 1)
select [Value] from [dbo].[SplitString](@str3, ‘###’, 0)

结果,截个图来看一下:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1801993.html

(0)
上一篇 2025年2月21日 13:14:20
下一篇 2025年2月21日 13:14:39

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP split()函数全面解析

    php split()函数全面解析 在PHP中,split()函数被用来在字符串中根据指定的正则表达式分割字符串。它能够将一个字符串划分为多个子字符串,并返回一个数组,其中包含这些子字符串。本文将通过详细介绍split()函数的语法、用法、…

    编程技术 2025年2月23日
    100
  • Oracle系统函数、自定义函数、关键字

    oracle系统函数、自定义函数、关键字,收集一些在工作中常用的Oracle知识点,不断的更新,不断的积累,就当作自己的记事本吧。 oracle系统函数、自定义函数、关键字 [日期:2012-06-16]来源:Linux社区 作者:baol…

    数据库 2025年2月22日
    100
  • access查询中调用自定义函数的方法是什么

    在Access查询中是可以直接调用自定义函数的,这可以帮助我们解决实际工作中一些特殊的查询统计。 (相关推荐:access数据库学习”>access数据库学习) 举例: 问:如何统计某些词语在歌词中出现在次数? 第一步:建…

    2025年2月22日 互联网
    100
  • sql遍历字符串语句

    sql遍历字符串实现有需要的朋友可参考参考。  代码如下复制代码 declare @ddd   varchar(50),@split varchar(1) set @ddd = ‘12345678,1234567890,1234…

    数据库 2025年2月21日
    100
  • 给Oracle添加split和splitstr函数的方法

    最近项目中有很多需要做批量操作的需求,客户端把一组逗号分隔的ID字符串传给数据库,存储过程就需要把它们分割,然后逐个处理 最近项目中有很多需要做批量操作的需求,客户端把一组逗号分隔的ID字符串传给数据库,存储过程就需要把它们分割,然后逐个处…

    数据库 2025年2月21日
    200
  • 如何复用 PHP 自定义函数?

    复用 php 自定义函数的方法有两种:1. 包含函数文件;2. 自动加载函数。包含方式:将函数定义在单独的文件中,然后在需要的地方包含该文件。自动加载方式:使用 php 的 splautoload 机制自动加载自定义函数。示例:格式化日期函…

    2025年2月20日
    200
  • PHP 自定义函数的最佳实践是什么?

    为提高自定义函数的质量,遵循以下最佳实践至关重要:定义明确的目的和输入/输出;保持函数简洁;使用命名空间防止冲突;处理错误和异常;编写测试用例;使用文档注释;考虑性能;避免副作用;使用值对象而不是引用变量。 PHP 自定义函数的最佳实践 自…

    2025年2月20日
    200
  • 如何为 PHP 注册自定义函数?

    php 允许通过以下内置方法为自定义函数注册:register_shutdown_function:在脚本结束时调用指定的函数。create_function:创建并立即调用的匿名函数。 如何在 PHP 中为自定义函数注册? PHP 为注册…

    2025年2月20日
    200
  • PHP 自定义函数的效率和安全性

    php 自定义函数可以通过编译评量实现更高性能,其优点包括提高速度、可读性和维护性。但在安全性方面,需要小心函数注入和代码注入等风险,通过验证输入和转义字符串等措施来防止安全漏洞。例如,计算两个数字之和的场景可以通过自定义函数实现,验证和转…

    2025年2月19日
    200
  • PHP 自定义函数的调试:深入探查代码执行

    自定义函数调试技巧:var_dump() 输出:手动打印变量值以检查状态。xdebug:使用 xdebug 扩展逐步执行代码并查看堆栈跟踪。phpdbg:使用 phpdbg 调试器设置断点、查看变量和修改代码。 PHP 自定义函数的调试:深…

    2025年2月19日
    200

发表回复

登录后才能评论