学习之路三十六:SQL知识总结 – [游标||字符串分割] – TimYang

好久没有写文章了,今天把前不久项目用到的SQL知识总结一下。



一丶字符串分割

SQL内置函数中是没有Split分割函数的,所以需要自己去实现,不多说,上代码:

CREATE FUNCTION Split(@source VARCHAR(MAX),@separator VARCHAR(10))
RETURNS @result TABLE(strValue VARCHAR(MAX))
AS
BEGIN

    DECLARE @index INT
    SET @source = RTRIM(LTRIM(@source))
    SET @index = CHARINDEX(@separator, @source)
    WHILE(@index >= 1)
    BEGIN
        INSERT @result VALUES(LEFT(@source, @index -1))
        SET @source = SUBSTRING(@source, @index+1, LEN(@source) - @index)    
        SET @index = CHARINDEX(@separator, @source)
    END
    
    IF(@source  '')
    BEGIN
        INSERT @result VALUES(@source)
    END

    RETURN
END



二丶游标

游标一般情况下都不建议使用,不过在特殊的需求下,用一下还是很好好处的,不过一定要注意性能哦,上代码:

DECLARE @temp VARCHAR(100)  --定义变量,用于读取数据源中的数据并赋给这个变量
DECLARE Source CURSOR FOR --后面是数据源

OPEN Source
FETCH NEXT FROM Source INTO @temp  --获取第一条数据
WHILE (@@FETCH_STATUS = 0)
BEGIN
    
    --TO DO
    
    FETCH NEXT FROM Source INTO @temp --获取下一条数据
    
END 

CLOSE Source   --关闭游标
DEALLOCATE Source --删除游标引用

游标就像C#中的foreach,只不过游标的语法稍微复杂点,需要花时间去记得。

循环数据源中的每一条数据并赋给一个定义的变量。

以同步至:



个人文章目录索引



稿源:博客园_TimYang (源链) | 关于 | 阅读提示

本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 综合技术 » 学习之路三十六:SQL知识总结 – [游标||字符串分割] – TimYang

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册