数据库截取数据问题!

lihaoran8577 2010-12-18 06:21:18
数据库字段中有如下数据:http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312

如何提取其中的ProdID=123123!!
...全文
113 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
joyhen 2010-12-18
  • 打赏
  • 举报
回复
10楼的代码多余了,擦
declare @num int , @count int,@oth int, @str nvarchar(200)
select @str='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'
select @count=len(@str)
select @num=PATINDEX ('%[&]%',@str)
select @oth=PATINDEX('%[&]%', REVERSE(@str))
select SUBSTRING(@str,@num+1,@count-@oth-@num)
joyhen 2010-12-18
  • 打赏
  • 举报
回复
declare @num int , @count int,@oth int, @str nvarchar(200)
select @str='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'
select @count=len(@str)
select @num=PATINDEX ('%[&]%',@str)
select @oth=PATINDEX('%[&]%', REVERSE(@str))
select SUBSTRING(@str,@num+1,@count-@oth-@num)
joyhen 2010-12-18
  • 打赏
  • 举报
回复
declare @num int , @count int,@str nvarchar(200)
select @str='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'
select @count=len('http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312')
select @num=PATINDEX ('%[?]%','http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312')
select parsename(replace(right(@str,@count-@num),'&','.'),2)
唐诗三百首 2010-12-18
  • 打赏
  • 举报
回复
也行,多个判断.

DECLARE @s1 varchar(200)
DECLARE @s2 varchar(200)

set @s1='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'
set @s2='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123'

select substring(
@s1,
charindex('ProdID=',@s1,1),
case when charindex('&pro=',@s1,1)=0 then len(@s1)+1
else charindex('&pro=',@s1,1) end - charindex('ProdID=',@s1,1))

select substring(
@s2,
charindex('ProdID=',@s2,1),
case when charindex('&pro=',@s2,1)=0 then len(@s2)+1
else charindex('&pro=',@s2,1) end - charindex('ProdID=',@s2,1))

结果
ProdID=123123
ProdID=123123
lihaoran8577 2010-12-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ap0405140 的回复:]
SQL code

DECLARE @s varchar(200)

set @s='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'

select substring(
@s,
charindex('ProdID=',@s,1),
charindex('&pr……
[/Quote]
我后面要是没有&pro这个呢?
lihaoran8577 2010-12-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 maco_wang 的回复:]
SQL code

declare @sql varchar(100)
set @sql='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'
select substring(@sql,charindex('ProdID',@sql),13)
/*
ProdID=123123
……
[/Quote]
我ProdID后面要不是123123呢?长度要不同呢?
唐诗三百首 2010-12-18
  • 打赏
  • 举报
回复

DECLARE @s varchar(200)

set @s='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'

select substring(
@s,
charindex('ProdID=',@s,1),
charindex('&pro=',@s,1)-charindex('ProdID=',@s,1))

结果
ProdID=123123
叶子 2010-12-18
  • 打赏
  • 举报
回复

declare @sql varchar(100)
set @sql='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'
select substring(@sql,charindex('ProdID',@sql),13)
/*
ProdID=123123
*/

百年树人 2010-12-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 josy 的回复:]
SQL code
select
left(
stuff(col,1,charindec('prodid',col),''),
charindex('&',stuff(col,1,charindec('prodid',col),''))-1
)
[/Quote]
修正
declare @s varchar(100)
set @s='http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'
select
left(
stuff(@s,1,charindex('prodid',@s)-1,''),
charindex('&',stuff(@s,1,charindex('prodid',@s),''))-1
)

/**
---------------------------------
ProdID=12312

(1 行受影响)
**/
WaterGG 2010-12-18
  • 打赏
  • 举报
回复
--> 测试数据: #tb
if object_id('tempdb.dbo.#tb') is not null drop table #tb
go
create table #tb (id varchar(70))
insert into #tb
select 'http://item.taobao.com/item.htm?id=7835939979&ProdID=123123&pro=321312'

select substring(id,charindex('ProdID=',id),charindex('&pro=',id)-charindex('ProdID=',id))
from #tb


----------------------------------------------------------------------
ProdID=123123

(1 行受影响)
百年树人 2010-12-18
  • 打赏
  • 举报
回复
select 
left(
stuff(col,1,charindec('prodid',col),''),
charindex('&',stuff(col,1,charindec('prodid',col),''))-1
)
ACMAIN_CHM 2010-12-18
  • 打赏
  • 举报
回复
什么数据库?

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧