sqlserver 查找某个字符在字符串中第N次出现的位置
来源:互联网 发布:淘宝买东西便宜教程 编辑:程序博客网 时间:2024/04/30 12:23
例如:
查找'A,' 在'A,B,C,D,A,B,C,D,C,D,B,A,C,E,'中第二次出现的位置
怎么实现,SQL 中有这样的函数吗?
SQL code
/*
方法很多,这里简单写一个
返回@find在@str中第(@n)次出现的位置。没有第(@n)次返回0。
*/
create
function
fn_find(@find
varchar
(8000), @str
varchar
(8000), @n
smallint
)
returns
int
as
begin
if @n < 1
return
(0)
declare
@start
smallint
, @
count
smallint
, @
index
smallint
, @len
smallint
set
@
index
= charindex(@find, @str)
if @
index
= 0
return
(0)
else
select
@
count
= 1, @len = len(@find)
while @
index
> 0
and
@
count
< @n
begin
set
@start = @
index
+ @len
select
@
index
= charindex(@find, @str, @start), @
count
= @
count
+ 1
end
if @
count
< @n
set
@
index
= 0
return
(@
index
)
end
go
declare
@str
varchar
(100)
set
@str=
'A,B,C,D,A,B,C,D,C,D,B,A,C,E'
select
dbo.fn_find(
'A'
,@str,1)
as
one, dbo.fn_find(
'A'
,@str,2)
as
two, dbo.fn_find(
'A'
,@str,3)
as
three, dbo.fn_find(
'A'
,@str,4)
as
four
/*
one two three four
----------- ----------- ----------- -----------
1 9 23 0
*/
0 0
- sqlserver 查找某个字符在字符串中第N次出现的位置
- sqlserver 查找某个字符在字符串中第N次出现的位置
- 查找某个字符在字符串中第N次出现的位置
- 获得某字符串(matString)中某个字符(string)第n次出现的位置
- SQL在字符串中查找字串出现第N次的位置
- C++字符串处理的一个例子:1.查找一个字符在字符串中第n次出现的位置。2分割字符串
- sql查找某个字符串第N次出现的位置的函数(转帖)
- sql查找某个字符串第N次出现的位置的函数(转帖)
- sql查找某个字符串第N次出现的位置的函数(转帖)
- SQL查找某个字符串第N次出现的位置的函数(转帖)
- sql查找字符第N次出现的位置
- c语言:返回指定字符在指定字符串中第n次出现的位置(从0开始计算)
- SQL之得到一个字符串中某一个字符第n次出现的位置的函数
- Java 获取字符串中第N次出现的字符位置
- java获取字符串中第N次出现特定字符的位置
- Java 获取字符串中第N次出现的字符位置
- Java 获取字符串中第N次出现的字符位置
- Java 获取字符串中第N次出现的字符位置
- Linux内核设计基础(八)之内核数据结构
- C++/C#/F#/Java/JS/Lua/Python/Ruby渲染速度比试
- 利用批处理静默删除可疑文件
- 64位系统+VS2012安装FFTW库
- Java中&与&&(|和||)的区别
- sqlserver 查找某个字符在字符串中第N次出现的位置
- easyUI--easyLoader
- 编译BaseClasses,该工程是对dshow的一个简单封装, 据说用它开发比较方便。
- opencv矩阵与一个常数相乘的两种实现方法
- 《安卓应用开发学习》--XML解析作业
- x264 - x264_mb_analyse_inter_p16x16
- atitit.技术选型方法总结为什么java就是比.net有前途
- sqlserver中利用Tran_sql把逗号分隔的字符串拆成临时表
- HDU 1166 敌兵布阵 (数壮树组)