-
详解SQLServer中的数据类型
前言前面几篇文章我们讲解了索引有关知识,这一节我们再继续我们下面内容讲解,简短的内容,深入的理解。数据类型SQLServer支持两种字符数据类型,一种是常规,另外一种则是Unicode...
数据库操作教程 2022-09-23 18:13:40 -
详解SQLServer中JSON_MODIFY的使用
SQLServer中JSON_MODIFY的使用IntroSQLServer从2016开始支持了一些JSON操作,最近的项目里也是好多地方字段直接存成了JSON,需要了解一下怎么在SQLServer中操作JSON.JSON支持适用于SQLServer2016及以上版本和AzureSQLDatabase。最近在项目中很多地方字段都是存一个JSON字符串,尤其是针对一些有很多不确定的属性的数据来说,这样的信息我们一般都放在一个Extra之类的字段保存一个JSON字符串,由于不确定性很大,很有可能会遇到要修改这个JSON字符串结构的问题,在修改JSON对象的某一个值和修改JSON的结构时都会用到JSON_MODIFY,今天就来介绍一下JSON_MODIFY的使用示例直接来看示例:--适用append在数组中追加元素PRINTJSON_MODIFY(@testJsonValue,'append$.skills','Azure');--无效用法,这样会把属性更新为字符串PRINTJSON_MODIFY(@testJsonValue,'$.skills','["C#","T-SQL","Azure...
数据库操作教程 2022-09-23 18:13:33 -
SQLSERVER2012中新增函数之字符串函数CONCAT详解
介绍SQLSERVER2012新增了两个字符串函数CONCAT和FORMAT。本文首先介绍一下CONCAT,CONCAT函数的作用是可以返回多个字符串拼接后的结果...
数据库操作教程 2022-09-23 18:12:03 -
SQLSERVER2012新增函数之逻辑函数CHOOSE详解
SQLSERVER2012中新增了CHOOSE,该函数可以从值列表返回指定索引处的项。例如:selectCHOOSE(3,'A','B','C','D')asR1/*R1----C*/CHOOSE并不能这么用,例如有个字符串'A,B,C,D',我们并不能用choose得到其中的某个值:selectchoose(2,'A,B,C,D')/*null*/CHOOSE的主要功能和CASEWHEN类似,例如数据库中有字段Sex:1表示男,2表示女...
数据库操作教程 2022-09-23 18:11:54 -
SQL行转列和列转行代码详解
行列互转,是一个经常遇到的需求。实现的方法,有casewhen方式和2005之后的内置pivot和unpivot方法来实现...
数据库操作教程 2022-09-23 18:11:52 -
sqlserver自定义分割月功能详解及实现代码
在最近的项目开发过程中,遇到了Sqlserver自动分割月的功能需求,这里在网上整理下资料. 1、为何出现自定义分割月的需求今天梳理一个平台的所有函数时,发现了一个自定义分割月函数,也就是指定分割月的开始日索引值(可以从1-31闭区间内的任何一个值)来获取指定日期所对应的分割月数值。这个函数当时是为了解决业务部门获取非标准月(标准月就是从每个月的第一天到最后一天组成一个完成的标准月份)的统计汇总数据的...
数据库操作教程 2022-09-23 18:10:47 -
SQLFunction自定义函数详解
目录产生背景(已经有了存储过程,为什么还要使用自定义函数)发展历史构成使用方法适用范围注意事项疑问内容产生背景(已经有了存储过程,为什么还要使用自定义函数)与存储过程的区别(存在的意义):1. 能够在select等SQL语句中直接使用自定义函数,存储过程不行。2. 自定义函数可以调用其他函数,也可以调用自己(递归)3. 可以在表列和CHECK约束中使用自定义函数来实现特殊列或约束4. 自定义函数不能有任何副作用...
数据库操作教程 2022-09-23 18:10:45 -
SQL联合查询与XML解析实例详解
SQL联合查询与XML解析实例 这里举例说明如何实现该功能:(selecta.EBILLNO,a.EMPNAME,a.APPLYDATE,b.HS_NAME,replace(replace(a.SUMMARY,char(10),''),char(13),'')asSUMMARY,cast(c.XmlDataasXML).value('(/List/item/No/text())[1]','NVARCHAR(300)')asNo,cast(c.XmlDataasXML).value('(/List/item/zje/text())[1]','NVARCHAR(300)')aszje,cast(c.XmlDataasXML).value('(/List/item/yfje/text())[1]','NVARCHAR(300)')asyfje,cast(c.XMLDataasXML).value('(/List/item/bcje/text())[1]','NVARCHAR(300)')...
数据库操作教程 2022-09-23 18:10:05 -
MySQL数据库source命令详解及实例
MySQL数据库source命令详解及实例MySQL数据库source命令,该命令是数据库导入命令。source命令的用法非常简单,首先你需要进入MySQL数据库的命令行管理界面,然后选择需要导入的数据库,执行source命令...
数据库操作教程 2022-09-23 18:09:55 -
详解SQLServer数据库架构和对象、定义数据完整性
前言本节我们继续SQL之旅,本节我们如题来讲讲一些基本知识以及需要注意的地方,若有不妥之处,还望指出,简短的内容,深入的理解。数据库架构和对象数据库包含架构,而架构又包含对象,架构可以看做是表、视图、存储过程等对象的容器...
数据库操作教程 2022-09-23 18:09:13 -
详解SQLServer的聚焦过滤索引
前言这一节我们还是继续讲讲索引知识,前面我们聚集索引、非聚集索引以及覆盖索引等,在这其中还有一个过滤索引,通过索引过滤我们也能提高查询性能,简短的内容,深入的理解。过滤索引,在查询条件上创建非聚集索引(1)过滤索引是SQL2008的新特性,被应用在表中的部分行,所以利用过滤索引能够提高查询,相对于全表扫描它能减少索引维护和索引存储的代价...
数据库操作教程 2022-09-23 18:08:54 -
Sqlserver中内部函数fn_PhysLocFormatter存在解析错误详解
前言有网友指出,SQLServer2012中fn_PhysLocFormatter内部函数在解析数据行记录位置时存在错误,见:http://www.itpub.net/thread-1751655-1-1.html,实际测试后发现,一是2008R2中同样存在问题,二是不仅页号解析存在问题,槽号解析也存在同样问题。下面先查看表NT_SiteInfo的数据行记录位置...
数据库操作教程 2022-09-23 18:07:43