欢迎来到千学网!
您现在的位置:首页 > 实用文 > 其他范文

更新字符串列表中,指定位置的字符串数据库教程

时间:2025-10-14 07:48:54 其他范文 收藏本文 下载本文

下面是小编给大家带来的更新字符串列表中,指定位置的字符串数据库教程,本文共5篇,以供大家参考,我们一起来看看吧!

篇1:更新字符串列表中,指定位置的字符串数据库教程

字符串

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_updatestr]') and xtype in (N'FN', N'IF', N'TF'))drop function [dbo].[f_updatestr]GO

/*--更新字符串列表中,指定位置的字符串

更新字符串列表中,指定位置的字符串为新的值 如果位置超出范围,则不做更新

--邹建 .07--*/

/*--调用示例

select dbo.f_updatestr('001|002|003|',1,'00a','|')--*/create function f_updatestr(@s varchar(8000),@pos int,@newstr varchar(100),@spliststr varchar(10) --字符串列表的分隔符)returns varchar(8000)asbegin declare @i int,@ilen int

select @i=charindex(@spliststr,@spliststr+@s)  ,@ilen=len(@spliststr) while @i>0 and @pos>1  select @i=charindex(@spliststr,@s,@i)+@ilen   ,@pos=@pos-1 return(case @i when 0 then @s else stuff(@s,@i,charindex(@spliststr,@s+@spliststr,@i)-@i,@newstr) end)endgo

篇2:SQL 中自己创建函数,分割字符串数据库教程

创建|函数|字符串

----------------------------------------------------------------

/**

*  版权: 石太祥 [ E.Alpha ]  所有 ;

*

*  email:    ealpha(AT)msn(DOT)com ;

*  msn: ealpha(AT)msn(DOT)com ;

* QQ : 9690501

*

* 所有请注明本信息!

*/

----------------------------------------------------------------

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[getEPnum]') and xtype in (N'FN', N'IF', N'TF'))

drop function [dbo].[getEPnum]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[getstrcount]') and xtype in (N'FN', N'IF', N'TF'))

drop function [dbo].[getstrcount]

GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[getstrofindex]') and xtype in (N'FN', N'IF', N'TF'))

drop function [dbo].[getstrofindex]

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS ON

GO

--- 这个函数直接调用了另外的两个函数,可以先阅读下面提到的两个函数

CREATE  function getEPnum (@str varchar(8000))

returns varchar(8000)

as

begin

declare @str_return varchar(8000)

declare @i int

declare @temp_i int

declare @onlineornot int

declare @findepnumok int

-- 用来取得一个epnum,

-- 规则:首先从chatid中取,如果有在线得,则取得最前面得在线得返回

--      如果全部不在线,则返回 ‘00000000’

select @findepnumok = 0

select @temp_i = 0

IF len(@str)<=0

begin

SELECT @str_return = '00000000'

end

else

begin

select @i = dbo.getstrcount(@str,',')

WHILE @temp_i< @i

BEGIN

select @onlineornot = online from wwchat_user where epnum=dbo.getstrofindex(@str,',',@temp_i)

IF (@onlineornot=1)

begin

select @str_return =dbo.getstrofindex(@str,',',@temp_i)

select @findepnumok = 1 --找到epnum后置为1

BREAK

end

ELSE

begin

select @temp_i = @temp_i + 1

select @findepnumok = 0 --找不到epnum后置为1

end

END

if @findepnumok = 0

begin

SELECT @str_return = '00000000'

end

end

return @str_return

end

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS ON

GO

-- getstrcount 输入一个没有分割的字符串,以及分割符

--返回数组的个数

CREATE    function getstrcount (@str varchar(8000),@splitstr varchar(100))

--returns varchar(8000)

returns int

as

begin

declare @int_return int

declare @start int

declare @next int

declare @location int

select @next = 0

select @location = 1

if len(@str)

select @int_return =0

if charindex(@splitstr,@str) = 0

select @int_return =0

while (@location0)

begin

select @start = @location + 1

select @location = charindex(@splitstr,@str,@start)

select @next = @next + 1

select @int_return = @next

end

return @int_return

end

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS ON

GO

-- getstrofindex 输入一个未分割的字符串,舒服分割符号,舒服要取得的字符位置

-- 返回 制定位置的字符串

CREATE  function getstrofindex (@str varchar(8000),@splitstr varchar(4),@index int=0)

returns varchar(8000)

as

begin

declare @str_return varchar(8000)

declare @start int

declare @next int

declare @location int

select @start =1

select @next = 1 --如果习惯从0开始则select @next =0

select @location = charindex(@splitstr,@str,@start)

while (@location 0 and @index > @next )

begin

select @start = @location +1

select @location = charindex(@splitstr,@str,@start)

select @next =@next +1

end

if @location =0 select @location =len(@str)+1 --如果是因为没有逗号退出,则认为逗号在字符串后

select @str_return = substring(@str,@start,@location -@start) --@start肯定是逗号之后的位置或者就是初始值1

if (@index  @next ) select @str_return = '' --如果二者不相等,则是因为逗号太少,或者@index小于@next的初始值1,

SQL 中自己创建函数,分割字符串数据库教程

return @str_return

end

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

篇3:搜索某个字符串在那个表的那个字段中数据库教程

字符串

--搜索某个字符串在那个表的那个字段中

declare @str varchar(100)

set @str='White' --要搜索的字符串

declare @s varchar(8000)

declare tb cursor local for

select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] like ''%'+@str+'%'')

print ''所在的表及字段: ['+b.name+'].['+a.name+']'''

from syscolumns a join sysobjects b on a.id=b.id

where b.xtype='U' and a.status>=0

and a.xusertype in(175,239,231,167)

open tb

fetch next from tb into @s

while @@fetch_status=0

begin

exec(@s)

fetch next from tb into @s

end

close tb

deallocate tb

/*--测试结果

所在的表及字段: [authors].[au_lname]

--*/

篇4:存储过程替换text,ntext列中的字符串数据库教程

存储过程|字符串

/*

author:amjn

date:-03-28

version:1.0

function:替换text,ntext列中的字符串(不支持中文)

*/

declare @ptr varbinary(16)

declare @amjnId int

declare @Position int,@len int

set @len=datalength('ILOVEHJL')

declare wux_Cursor scroll Cursor

for

select textptr([Name]),[amjnId] from USA201

for read only

open wux_Cursor

fetch next from wux_Cursor into @ptr,@amjnId

while @@fetch_status=0

begin

select @Position=patindex('%ILOVEHJL%',[Name]) from USA201 where [amjnId]=@amjnId

while @Position>0

begin

set @Position=@Position-1

updatetext USA201.[Name] @ptr @Position @len 'i love hjl'

select @Position=patindex('%ILOVEHJL%',[Name]) from USA201 where [amjnId]=@amjnId

end

fetch next from wux_Cursor into @ptr,@amjnId

end

close wux_cursor

deallocate wux_cursor

go

篇5:删除字符串中指定位置的字符

/*********************************************************************** 版权所有 (C)2015, Wu Yingqiang,

删除字符串中指定位置的字符

。** 文件名称:DelPosChar.c* 文件标识:无* 内容摘要:删除字符串中指定位置的字符* 其它说明:无* 当前版本: V1.0* 作 者: Wu Yingqiang* 完成日期: 20150115***********************************************************************/#include#include#include/*********************************************************************** 功能描述:删除字符串中指定位置的字符* 输入参数:str--要操作的字符串; pos--要删除字符的位置* 输出参数:str--删除字符后的字符串* 返 回 值:-1--失败,0--成功* 其它说明:无* 修改日期 版本号修改人修改内容* -------------------------------------------------------------------* 20150115 V1.0 Wu Yingqiang创建***********************************************************************/int DelPosChar(char *str, int pos){ if (str == NULL) { return -1; } int len = strlen(str); for (int i = pos; i< len; i++) { str[i - 1] = str[i]; } str[len - 1] = '\\0'; return 0;}/*********************************************************************** 功能描述:主函数* 输入参数:无* 输出参数:无* 返 回 值:无* 其它说明:无* 修改日期 版本号 修改人修改内容* -------------------------------------------------------------------* 20150115 V1.0 Wu Yingqiang创建***********************************************************************/void main(){ int ret = 0; char buf[] = “hellokityManGood”;//测试字符串 printf(“%s\\n”, buf); ret = DelPosChar(buf, 1); if (ret != 0) { return; } printf(“%s\\n”, buf); ret = DelPosChar(buf, 2); if (ret != 0) { return; } printf(“%s\\n”, buf); ret = DelPosChar(buf, 3); if (ret != 0) { return; } printf(“%s\\n”, buf); system(“pause”);}

用函数简化你的字符串连接语句数据库教程

按字节截取字符串

PHP截取中文字符串方法总结

POJ 题目3630 Phone List(字符串,水)

Python中处理字符串之endswith方法的使用简介

go语言实现字符串base64编码的方法

c语言中字符串操作的工具类

C语言 字符串的内存拷贝处理函数

什么是数据仓库数据库教程

自定义链接后端数据库数据库教程

《更新字符串列表中,指定位置的字符串数据库教程(共5篇).doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式

点击下载本文文档