首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

[请问]在数据库字段中,怎么拆分,获得小弟我想要的数据

2012-01-23 
[请教]在数据库字段中,如何拆分,获得我想要的数据有一个表,很多记录有一个字段,iPic,其中一条记录的值No,U

[请教]在数据库字段中,如何拆分,获得我想要的数据
有一个表,很多记录
有一个字段,iPic,   其中一条记录的值   No,UpLoad/200723111519186.gif,No,No,No,UpLoad/20072311162963.jpg
按照 ", "分开

我在提取数据时候:
我想提取这个字段第一个值不是“No”的记录???

谢谢

[解决办法]
这种东西我觉得在陈绪里面处理相对容易些;
[解决办法]
select * from tbname where left(iPic,left(iPic,charindex( ', ',iPic)-1)!= 'No '
or
select * from tbname where patindex( 'No,% ',iPic)=0
[解决办法]
select * from tbname where left(iPic,2)= 'No '

[解决办法]
select * from tbname where patindex( 'No, ',iPic)=0
或者
select * from shitfuck4 where patindex( 'No,% ',iPic)=1
[解决办法]
CREATE FUNCTION dbo.f_splitSTR(
@s varchar(8000), --要分拆的字符串
@split varchar(10), --数据分隔符
@pos int -- 取第几个
)RETURNS varchar(100)
AS
BEGIN
DECLARE @splitlen int, @re varchar(100)
SET @splitlen=LEN(@split+ 'a ') - 2
WHILE CHARINDEX(@split,@s) > 0 AND @pos > 0
SELECT
@re = LEFT(@s,CHARINDEX(@split,@s)-1),
@s=STUFF(@s,1,CHARINDEX(@split, @s)+@splitlen, ' '),
@pos = @pos - 1
RETURN(CASE
WHEN @pos = 0 THEN @re
WHEN @pos = 1 THEN @s
ELSE NULL END)
END
GO

--判断第三个是否为No
select * from tbname where dbo.f_splitSTR(userinfo, ', ', 3) = 'No '
[解决办法]
如果是text类型,不能使用left的

热点排行