字符串为'1232131;2313;213231;123123;'
1、第一个函数该函数传入字符串和位置,等到该位置的子串
2、第二个函数该函数传入字符串,得到子串的个数。
1、第一个函数该函数传入字符串和位置,等到该位置的子串
2、第二个函数该函数传入字符串,得到子串的个数。
解决方案 »
- 多表子查询sql语句修改
- 请问怎么会出现这个错误呢?Could not open a connection to sql server
- 怎样查询出各个分组内ID最大的那条记录?
- sqlserver2005中求最短路径
- 怎么将SQLSERVER2000中的数据库设置为“GBK”
- 如何判断参数是空
- sql server2000的管理界面标示数据库recovering,过一阵就正常了。是怎么回事??
- 又要问了!!!!!!!
- 求救,sql server2000 在windows xp(sp2)上装不上啊!!!
- 在ACCESS中如何取代SQL Server的存储过程???
- sql-汇总问题
- 选课系统 实验人数统计 难道很大,跪求指教!
不过你描述的还不是很清楚
set @str='1$a$^2$b$^3$c$^' --------注意字符串格式 用$ 和 ^ 符号区分
declare @i int,@j int,@strnew varchar(1024) ,@num1 int,@num2 int ,@zz int
declare @id int,@name varchar(32)
set @i=1
set @num1=1
set @j=len(@str)
set @zz=1
while @i<@j
begin
set @num1=charindex('^',@str,@i)
set @strnew=substring(@str,@i,@num1-@i)
set @num2=charindex('$',@strnew,@zz)
set @id=substring(@strnew,@zz,@num2-@zz)
set @zz=@num2+1
set @num2=charindex('$',@strnew,@zz)
set @name=substring(@strnew,@zz,@num2-@zz)
set @zz=@num2+1
select @id,@name
/*
可以向表中执行添加修改操作
*/
set @i=@num1+1
set @zz=1
end