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

请帮小弟我看一下!多谢

2012-03-30 
请帮我看一下!谢谢请帮我看一下,谢谢。我想明白下面是什么意思及详细的变量取数原理SELECT@startPositionC

请帮我看一下!谢谢
请帮我看一下,谢谢。我想明白下面是什么意思及详细的变量取数原理


SELECT   @startPosition   =   CHARINDEX(@str,@chrWhere,0)
IF   @startPosition   =   0
    RETURN
SELECT   @endPosition   =   CHARINDEX(@str,@chrWhere,@startPosition+1)
IF   @endPosition   =   0
    RETURN
SELECT   @attribute   =   SUBSTRING(@chrWhere,@startPosition+1,@endPosition-@startPosition-1)


SELECT   @startPosition   =   CHARINDEX(@str,@chrWhere,@endPosition+1)
IF   @startPosition   =   0
    RETURN
SELECT   @endPosition   =   CHARINDEX(@str,@chrWhere,@startPosition+1)
IF   @endPosition   =   0
    RETURN
SELECT   @start   =   SUBSTRING(@chrWhere,@startPosition+1,@endPosition-@startPosition-1)


SELECT   @startPosition   =   CHARINDEX(@str,@chrWhere,@endPosition+1)
IF   @startPosition   =   0
    RETURN
SELECT   @endPosition   =   CHARINDEX(@str,@chrWhere,@startPosition+1)
IF   @endPosition   =   0
    RETURN
SELECT   @end   =   SUBSTRING(@chrWhere,@startPosition+1,@endPosition-@startPosition-1)



[解决办法]
--@startPosition是保存字符串@str在第一次@chrWhere中出现的位置
SELECT @startPosition = CHARINDEX(@str,@chrWhere,0)
IF @startPosition = 0
RETURN
--如果有则@endPosition保存第二次出现的位置
SELECT @endPosition = CHARINDEX(@str,@chrWhere,@startPosition+1)
IF @endPosition = 0
RETURN
--@attribute保存@str在@chrWhere中第一次与第二次位置中间的字符串
SELECT @attribute = SUBSTRING(@chrWhere,@startPosition+1,@endPosition-@startPosition-1)

--下面意思差不多

热点排行