首页 新闻 会员 周边 捐助

sql 字符串截取 获得分数

0
悬赏园豆:100 [已关闭问题] 关闭于 2015-04-02 08:51

|textBox57*99|textBox58*110|textBox59*12|textBox60*105|

怎么获取每个textBox*后的值 

路过相遇错过的主页 路过相遇错过 | 初学一级 | 园豆:6
提问于:2015-03-28 12:38
< >
分享
所有回答(5)
0

两次分割,首先根据|来分割,然后根据*来分割,如果可能,建议在程序里做这个事情。

幻天芒 | 园豆:37205 (高人七级) | 2015-03-28 13:16

你没天都没啥事做哇~~

支持(0) 反对(0) | 园豆:780 (小虾三级) | 2015-03-28 17:39

不过,答案是这样子的哦。可以自己写个按符合拆分的function 供以后使用

支持(0) 反对(0) | 园豆:780 (小虾三级) | 2015-03-28 17:40

@耘: 有事做啊,相互不影响嘛。

支持(0) 反对(0) 幻天芒 | 园豆:37205 (高人七级) | 2015-03-30 09:06
0

Substring(字段,CHARINDEX('textBox10',字段)+10,2)

路过相遇错过 | 园豆:6 (初学一级) | 2015-03-28 13:42
0



INSERT INTO bEvent (vchrEventName,vchrEventAbbr,bitEventShut,EventGroup,IsDeleted)

VALUES('抢救','',1,'',0)


CREATE FUNCTION [dbo].[f_splitSTR](
@s varchar(8000), --待分拆的字符串
@split varchar(8000) --数据分隔符
)RETURNS @re TABLE(col varchar(8000))
AS
BEGIN
DECLARE @splitlen int
SET @splitlen=LEN(@split+'a')-2
WHILE CHARINDEX(@split,@s)>0
BEGIN
INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
END
INSERT @re VALUES(@s)
RETURN
END

GO

 

CREATE function [dbo].[fGetprintReportNameValue](@applyID int,@printName VARCHAR(100),@col VARCHAR(30))
returns varchar(300)
AS
BEGIN
DECLARE @result VARCHAR(30)
DECLARE @AneZqSpecial VARCHAR(8000)
SELECT TOP 1 @AneZqSpecial = prn.AneZqSpecial FROM printReportName prn WHERE prn.intApplyID=@applyID
AND prn.printName=@printName order by id
SELECT @result =SUBSTRING(col,8,800) FROM dbo.f_splitSTR(@AneZqSpecial,'|') WHERE col LIKE '%'+@col+'%'

RETURN @result
END

GO

 自己研究吧

你在何方 | 园豆:202 (菜鸟二级) | 2015-03-28 15:35
0

提供一个思路

想想还是C#爽啊

毒逆天 | 园豆:261 (菜鸟二级) | 2015-03-28 20:44

这个思路不错。

支持(1) 反对(0) 琴水玉 | 园豆:317 (菜鸟二级) | 2015-03-29 12:57
0

在程序里写吧,别在SQL里写,SQL写起来麻烦。

hexllo | 园豆:318 (菜鸟二级) | 2015-03-30 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册