在数据库中使用表值函数分割字符串

新建表值函数:

Create function [dbo].[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

示例:

select * from f_split(‘1,2,3‘,‘,‘)

结果:

时间: 2024-08-04 00:47:28

在数据库中使用表值函数分割字符串的相关文章

用strtok函数分割字符串

用strtok函数分割字符串 需要在loadrunner里面获得“15”(下面红色高亮的部分),并做成关联参数. //Body response 内容: <BODY><; PRE>//OK[8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1 用web_reg_save_param取出“8,7,5,15,6,5,0,4,0,3,0,3,2,0,0,0,1”这一段,然后用strtok函数切割出一个个数字,第四个数字就是要找的值 例如: extern char * st

MySql数据库中的datediff函数

MySql数据库中的datediff函数:主要是用来返回两个日期之间相隔的天数   一半情况下是大日期在前,小日期在后的 这样写也是能够运行的 要注意查询结果: 原文地址:https://www.cnblogs.com/dongyaotou/p/12080565.html

javascript 中 split 函数分割字符串成数组

分割字符串成数组的方法有很多,不过使用最多的还是split函数 <script language="javascript"> str="2,2,3,5,6,6"; //这是一字符串 var strs= new Array(); //定义一数组 strs=str.split(","); //字符分割 for (i=0;i<strs.length ;i++ ) { document.write(strs[i]+"<b

sql中的表值函数与标量值函数区别与用法

通俗来讲: 听名字就知道区别了 表值函数返回的是一张表结果,就和一个select查询语句一样,只不过里面带入了参数或者很复杂:标量值函数返回的只是一个值 一 .表值函数又分为内联函数与多语句函数 (1)内联函数就是没有函数主体表是单个 SELECT. 下面是一个不带输入参数的表值函数 create function tvpoints() returns table as return ( select * from tb_users ); 调用-这个结果返回的是一张表: select * fro

sqlserver中的表值函数和标量值函数

顾名思义:表值函数返回的是表,而标量值函数可以返回基类型 一.表值函数 用户定义表值函数返回 table 数据类型.对于内联表值函数,没有函数主体:表是单个 SELECT 语句的结果集. 以下示例创建了一个内联表值函数.此函数的输入参数为客户(商店)ID,而返回 ProductID.Name 以及 YTD Total(销售到商店的每种产品的本年度节截止到现在的销售总额)列. USE AdventureWorks; GO CREATE FUNCTION Sales.fn_SalesByStore

LoadRunner中自定义C函数实现字符串替换

1.在globals.h 中定义一个函数ReplaceStr,实现字符串的替换: int ReplaceStr(char* sSrc, char* sMatchStr, char* sReplaceStr) { int StringLen; char caNewString[1024]; char* findPos; merc_timer_handle_t timer_ReplaceStr = lr_start_timer(); lr_debug_message(LR_MSG_CLASS_EXT

Mysql中使用find_in_set函数查找字符串

mysql有个表的字段的存储是以逗号分隔的,如domain字段login.s01.yy.com,s01.yy.com,s02.yy.com.现在要查找s01.yy.com这个.我们用like查找好像不是非常准确.那就试试mysql中的find_in_set函数吧. SELECT find_in_set('a','a,b,c,d') as test

数据库中的八大函数(聚合,数字,字符串,日期和时间,条件,系统信息,加密,格式化)

一.函数    1.聚合函数        sum() avg() count() min() max()    2.数学函数        主要用于处理数字 包括整型 浮点型        /*数学函数*/        SELECT FLOOR(1.5)/*返回小于或者等于参数的最大整数*/floor向下取整        SELECT RAND()/*返回0-1的随机数*/        SELECT ROUND(RAND()*10)/*返回离round(x) x最近的整数 小数点后四舍五

在Oracle数据库中实现SqlServer数据库中的NewID()函数功能

因为我是使用.NET C#进行开发,所以平时会使用SqlServer的NewID()函数来生成数据的ID. 在C#语言中也可以很方便地使用Guid.NewGuid().ToString()方法来生成格式一样的ID. 现在数据库换成了Oracle,没有类似的函数可以方便地调用,但是Oracle中自带一个函数SYS_GUID(). 返回的是一串二进制的数据,可以通过CAST转换成VARCHAR类型后就是类似SqlServer中NewID()方法生成的ID的样子了. 我们只要再做下手脚,往里面插入几个