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

综合技术 2013-09-25

好久没有写文章了,今天把前不久项目用到的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,只不过游标的语法稍微复杂点,需要花时间去记得。

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

以同步至:



个人文章目录索引



责编内容by:博客园_TimYang (源链)。感谢您的支持!

您可能感兴趣的

美团点评SQL优化工具SQLAdvisor开源 介绍 在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务。例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率。 目前常用的 SQL 优化方式包括但不限于:业务层优化、SQL逻辑优化、索引优化等。其中索引优化通常通过调整索引或新增索引从而达到 SQL 优化的目的。索引...
Pester dbatools for SQL best practices Pester is a testing framework and it can be used to automate the testing of your PowerShell code. It provides a language that allows you to define te...
Error while running my program; Incorrect... I am getting the following error when I run my code: Incorrect syntax near the keyword 'User'. An unhandled exception of type 'System.Data.SqlCli...
Running Stack Overflow on Dgraph We have been taught, conditioned, trained to use SQL all our lives as engineers. It was there in schools, there when we went to college. It was being ...
SQLcl and the the ORDS JDBC Driver You know whatSQLcl is. You know what ORDS is. How do those two things go together? Well, in ORDS 17.3 (Early Adopter/BETA!) , we offer a ne...