好久没有写文章了,今天把前不久项目用到的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. httpd 虚拟主机建立之访问机制及其日志定义

    注:关闭防火墙,selinux VirtualHost定义: 基于IP地址VirtualHost: 编辑httpd.conf文件: #DocumentRoot "/web/html" ...

  2. pxe kickstart 配置+TFTP+NFS多版本系统部署

    系统centos6.5x86_64 1.DHCP服务配置. yum安装dncp [root@cnhzdhcp16593 ~]# yum -y install dhcp 配置dhcp服务,新建dhcpd ...

  3. SVEditor 1.3.6 发布

    SVEditor 1.3.6 支持代码高亮时没有处理 #ifdefs 语句的问题,支持类.接口.模块.任务和函数的代码折叠,修复了一些 bug. SVEditor 是一个Eclipse的插件,用来编辑 ...

  4. 时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell

    时隔两年最近再次折腾opensuse 的一些笔记 - opensuse linux java service shell opensuse 一些常用命令:    service xxx start/s ...

  5. 在项目中引用GreenDroid库

    1.下载GreenDroid库 首先,我们得从Git上下载这个库,我用的是git for windows下载的.先下载,安装.安装完后,打开git for windows ,直接将浏览器中GreenD ...

  6. Windows 8.1 开发过程中遇到的小问题(2)

    又是在Windows 8.1 的分享功能,再次出现错误: A COM call (IID: ***, method index: *) to an ASTA (thread *) was blocke ...

  7. JsRender for object 语法说明

    JsRender 作为一款JavaScript模版引擎,必不可少的会有循环功能,也就是for,但由于JsRender过于灵活,for竟然可以接受object作为循环对象. {{for Array}}和 ...

  8. jQuery Ztree基本用法

    1.首先在页面上有<ul/>标签 <ul id="tree" class="ztree"></ul> 2.定义ztree的配 ...

  9. 【Android】应用程序启动过程源码分析

    在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Android应用程 ...

  10. java集合练习——题目

    2.已知有十六支男子足球队参加2008 北京奥运会.写一个程序,把这16 支球队随机分为4 个组.采用List集合和随机数 2008 北京奥运会男足参赛国家: 科特迪瓦,阿根廷,澳大利亚,塞尔维亚,荷 ...