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

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

以同步至:个人文章目录索引

学习之路三十六:SQL知识总结 - [游标||字符串分割]的更多相关文章

  1. 学习之路三十九:新手学习 - Windows API

    来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了 ...

  2. FastAPI 学习之路(十六)Form表单

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  3. 学习之路三十二:VS调试的简单技巧

    这段时间园子里讲了一些关于VS的快捷键以及一些配置技巧,挺好的,大家一起学习,一起进步. 这段时间重点看了一下关于VS调试技巧方面的书,在此记录一下学习的内容吧,主要还是一些比较浅显的知识. 1. 调 ...

  4. Python小白学习之路(十六)—【内置函数一】

    将68个内置函数按照其功能分为了10类,分别是: 数学运算(7个) abs()   divmod()  max()  min()  pow()  round()  sum() 类型转换(24个) bo ...

  5. Kubernetes学习之路(十六)之存储卷

    目录 一.存储卷的概念和类型 二.emptyDir存储卷演示 三.hostPath存储卷演示 四.nfs共享存储卷演示 五.PVC和PV的概念 六.NFS使用PV和PVC 1.配置nfs存储 2.定义 ...

  6. Vue学习之路第十六篇:车型列表的添加、删除与检索项目

    又到了大家最喜欢的项目练习阶段,学以致用,今天我们要用前几篇的学习内容实现列表的添加与删除. 学前准备: ①:JavaScript中的splice(index,i)方法:从已知数组的index下标开始 ...

  7. 【WPF学习】第三十六章 样式基础

    前面三章介绍了WPF资源系统,使用资源可在一个地方定义对象而在整个标记中重用他们.尽管可使用资源存储各种对象,但使用资源最常见的原因之一是通过他们的保存样式. 样式是可应用于元素的属性值集合.WPF样 ...

  8. [转] Linux学习之CentOS(三十六)--FTP服务原理及vsfptd的安装、配置

    本篇随笔将讲解FTP服务的原理以及vsfptd这个最常用的FTP服务程序的安装与配置... 一.FTP服务原理 FTP(File Transfer Protocol)是一个非常古老并且应用十分广泛的文 ...

  9. 学习之路三十八:Hook(钩子)的学习

    好久没写文章了,还记得年前面试了一家公司,为了检测一下我的学习能力,给了我一个任务,做一个自动登录并自动操作菜单的程序. 花了几天的时间研究了Hook以及使用WindowsAPI操作程序的知识,现在记 ...

随机推荐

  1. 网络闪段致slave 出错分析

    告警信息 check_ins_slave_io_running (err_cnt:1)critical-  slaveio not run on ins:3014,3051,3060,3079,309 ...

  2. Android 开源项目维护者宣布退出

    Android开源项目(Android Open Source Project,AOSP)的长期维护者Jean-Baptiste Quéru在Google+上宣布退出,他退出AOSP项目的原因被认为与 ...

  3. Java 中的反射机制

    JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的信息以及动态调用对象的方法的功能称为ja ...

  4. [JS] HTML QQ分享界面js代码

    @ - @ :可以自己指定分享内容等....内含JS脚本 <html> <head> <title></title> <script type=& ...

  5. [JS10] 获取时间

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. 空间插值文献阅读(Geostatistical approaches for incorporating elevation into the spatial interpolation of rainfall)

    空间插值技术应用必读论文---P. Goovaerts, Geostatistical approaches for incorporating elevation into the spatial ...

  7. [读书笔记]C#学习笔记四: C#2.0泛型 可控类型 匿名方法和迭代器

    前言 C#1.0的委托特性使方法作为其他方法的参数来传递,而C#2.0 中提出的泛型特性则使类型可以被参数化,从而不必再为不同的类型提供特殊版本的实现方法.另外C#2.0还提出了可空类型,匿名方法和迭 ...

  8. atitit.条形码的原理与生成总结java Barcode4j barcode o5

    atitit.条形码的原理与生成总结java Barcode4j barcode o5 条形码类库使用报告Barcode4j, ZXing 1 使用成果图片 1 条形码标准code 128和code  ...

  9. paip.提升效率---提升绑定层次--form绑定取代field绑定

    paip.提升效率---提升绑定层次--form绑定取代field绑定 =================== 编辑form中,常常需要,绑定一个对象到个form..   传统上要绑定field开始. ...

  10. TF Boys (TensorFlow Boys ) 养成记(五)

    有了数据,有了网络结构,下面我们就来写 cifar10 的代码. 首先处理输入,在 /home/your_name/TensorFlow/cifar10/ 下建立 cifar10_input.py,输 ...