-
Sqlservertimestamp数据类使用介绍
在SQLServer中联机丛书是这样说的:SQLServertimestamp数据类型与时间和日期无关。SQLServertimestamp是二进制数字,它表明数据库中数据修改发生的相对顺序...
数据库操作教程 2022-09-23 20:28:11 -
SQL里类似SPLIT的分割字符串函数
一,用临时表作为数组复制代码代码如下:createfunctionf_split(@cvarchar(2000),@splitvarchar(2))returns@ttable(colvarchar(20))asbeginwhile(charindex(@split,@c)<>0)begininsert@t(col)values(substring(@c,1,charindex(@split,@c)-1))set@c=stuff(@c,1,charindex(@split,@c),'')endinsert@t(col)values(@c)returnendgoselect*fromdbo.f_split('dfkd,dfdkdf,dfdkf,dffjk',',')dropfunctionf_splitcol--------------------dfkddfdkdfdfdkfdffjk(所影响的行数为4行)二、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。复制代码代码如下:CREATEfunctionG...
数据库操作教程 2022-09-23 20:26:11 -
IN&EXISTS与NOTIN&NOTEXISTS的优化原则小结
1.EXISTS的执行流程select*fromt1whereexists(selectnullfromt2wherey=x)可以理解为:复制代码代码如下:forxin(select*fromt1)loopif(exists(selectnullfromt2wherey=x.x)thenOUTPUTTHERECORDendifendloop对于in和exists的性能区别:如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in,反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。其实我们区分in和exists主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了另外IN时不对NULL进行处理,如:select1fromdualwherenullin(0,1,2,null)结果为空...
数据库操作教程 2022-09-23 20:21:01 -
REPLICATE以指定的次数重复字符表达式
使用REPLICATE(以指定的次数重复字符表达式)函数REPLICATE函数用于以指定的次数重复字符表达式。语法:REPLICATE(character_expression,integer_expression)参数说明:character_expression:由字符数据组成的字母数字表达式...
数据库操作教程 2022-09-23 20:20:50 -
SQL中函数replace的参数1的数据类型ntext无效的解决方法
今天将一个ACC的数据库转换成ms-sql以后发现在使用replace替换语句的时候出现:SQL中函数replace的参数1的数据类型ntext无效。找了半天找到了解决办法:因为ntext需要转化下用如下语句即可解决:复制代码代码如下:UPDATE表SET字段=REPLACE(cast(字段ASvarchar(8000)),'被替换的内容','将要替换成的内容')varchar(8000)是字段类型...
数据库操作教程 2022-09-23 20:15:52 -
解决MybatisPlus SqlServer OFFSET 分页问题
目录问题错误源码重现找资料解决问题使用MybatisPlus连接SqlServer数据库,在分页的时候发生了如下的报错,sql语句和报错如下:Cause:com.microsoft.sqlserver.jdbc.SQLServerException:“@P0”附近有语法错误。...SQL:SELECT *FROMtb_admin OFFSET0ROWSFETCHNEXT15ROWSONLY错误源码重现依赖<!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.1</version></dependency><!--SqlServer依赖--><dependency><groupId>com.microsoft....
数据库操作教程 2022-09-23 18:23:38 -
SQLServer实现split函数分割字符串功能及用法示例
本文实例讲述了SQLServer实现split函数分割字符串功能及用法。分享给大家供大家参考,具体如下:/*函数名称:f_SplitToNvarchar作用:实现split功能的函数更新记录:设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里*/CREATEFUNCTION[dbo].[f_SplitToNvarchar](@SourceSqlNVARCHAR(MAX),--源分隔字符串@StrSeprateVARCHAR(10)--分隔符)RETURNS@tempTABLE(colNVARCHAR(MAX))ASBEGINDECLARE@iINTSET@SourceSql=RTRIM(LTRIM(@SourceSql))SET@i=CHARINDEX(@StrSeprate,@SourceSql)WHILE@i>=1BEGININSERT@tempVALUES(LEFT(@SourceSql,@i-1))SET@SourceSql=SUBSTRING(@SourceSql,@i+1,LEN(@SourceSql)-@i)SET@i=C...
数据库操作教程 2022-09-23 18:06:08 -
Activiti-Explorer使用sqlserver数据库实现方法
如何让Activiti-Explorer使用sqlserver数据库从官网下载的Activiti-explorer的war文件内部默认是使用h2内存数据库的,如果想改用其他的数据库来做持久化,比如sqlserver,需要做如下配置。1)修改db.properties文件路径:C:apache-tomcat-7.0.64webappsactiviti-explorerWEB-INFclassesdb.properties内容如下:db=mssqljdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriverjdbc.url=jdbc:sqlserver://localhost:1433;databaseName=activitijdbc.username=sajdbc.password=xxxx2)从微软官网下载sqlserver的jdbc驱动;只要在搜索引擎上搜索关键词:sqlserverjdbcdriver找到微软官网的连接,我使用的是:https://msdn.microsoft.com/en-us/sqlserver/aa9377...
数据库操作教程 2022-09-23 18:01:32 -
SQLServer2016TempDb里的显著提升
几个星期前,SQLServer2016的最新CTP版本已经发布了:CTP2.4(目前已经是CTP3.0)。关于SQLServer2016CTP2.3的关键特性总结,在此不多说了,具体内容请查相关资料...
数据库操作教程 2022-09-23 17:51:23 -
谈谈Tempdb对SQLServer性能优化有何影响
先给大家巩固tempdb的基础知识简介:tempdb是SQLServer的系统数据库一直都是SQLServer的重要组成部分,用来存储临时对象。可以简单理解tempdb是SQLServer的速写板...
数据库操作教程 2022-09-23 17:49:28 -
SQLReportBuilder报表里面的常见问题分析
一SQL报表常常会遇到在表格中的相除,如果分母为零,一般会显示错误号,我们可以这么处理:(加上是A/B)=A/iif(B=0,99999999999999,B)但是我们不能这么写:=iif(B=0,0,A/B) //我们不能这么写,会产生BUG,至于什么BUG,你们可以自己试试二我们假设报表中的某一个格子的名字为A,我们在A中需要引用另一个格子B的值,在这种情况下,我们通常会把B中的计算公式再次引用在A中复制一遍,这样很导致很麻烦。我们可以在A中直接这么写:ReportItems!B表的名字.Value这样就不需要再一次得把公式写一遍了三在报表曲线图中的横坐标,倘若我们需要动态得变化横坐标,我们这时候一般会把轴选项设置为自动,但是这样往往得不到我们想要的结果,下面的例子就是根据参数(开始时间和结束时间)的间隔动态地改变横坐标的样式水平轴属性》数字》自定义=IIf(Parameters!startime.Value=Parameters!endtime.Value,"",iif(DateAdd(DateInterval.day,-4,Parameters!endtime.Val...
数据库操作教程 2022-09-23 17:49:15 -
浅谈SQLServer2016里TempDb的进步
几个星期前,SQLServer2016的最新CTP版本已经发布了:CTP2.4(目前已经是CTP3.0)。这个预览版相比以前的CTP包含了很多不同的提升...
数据库操作教程 2022-09-23 17:46:31