-
深入SQL截取字符串(substring与patindex)的详解
首先学习两个函数1.substring 返回字符、binary、text或image表达式的一部分。基本语法:SUBSTRING(expression,start,length)expression:字符串、二进制字符串、text、image、列或包含列的表达式start:整数,指定子串的开始位置 注:SQL中"1"表示字符串中的第一个字符,而.NET中"0"表示第一个字符length:整数,指定子串的长度(要返回的字符数或字节数)2.patindex 返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零...
数据库操作教程 2022-09-23 17:17:07 -
SqlServer2012转换函数的比较(Cast、Convert和Parse)
语法结构:1.Cast语法结构:CAST(expressionASdata_type[(length)])2.Convert语法结构:CONVERT(data_type[(length)],expression[,style])3.Parse语法结构:PARSE(string_valueASdata_type[USINGculture])其中,Parse为SqlServer的新特性expression必须要为被转换类型的字符串形式性能分析:总结:1.Convert和Cast的区别CONVERT是专对SQLServer使用的,使日期与时间值,小数之间转换具有更宽的灵活性。CAST是两种功能中更具ANSI标准的功能,即虽然更具便携性(比如,使用CAST的函数能更容易的被其它数据库软件使用),但功能相对弱一些...
数据库操作教程 2022-09-23 17:08:17 -
SQLServer日期函数CAST和CONVERT以及在业务中的使用介绍
最近时间刚从客户端转入后台写服务,对于后台数据库以及服务的书写完全是个小白,所以最近写的肯定没有太多技术含量。首先把遇到的问题摆出来:还是那张错误上报表,字段主要有上报错误ID(ErrorID),上报人(ReportPerson),上报时间(ReportTime)精确到毫秒,现在要做的统计是:(1)统计一定时间内【起止时间精确到毫秒】(beginTime,endTime)每个人每天上报的错误个数(2)统计一定时间内【起止时间到精确到月】(beginTime,endTime)按月统计每个人上报的错误总数...
数据库操作教程 2022-09-23 17:06:21 -
sqlnotin与notexists使用中的细微差别
上面两个简单的Sql,我们从表面理解,查询的最终结果应该是一样的,但实际结果却和我们想象的不一样第一条sql查询的结果有一条数据第二条sql查询的结果却为空 原因:notexists的子查询,对于子查询不返回行和子查询返回行的查询结果是有区别的这些细小的差别千万不要被我们所忽视,一旦项目庞大了,想跟踪到具体的错误所花费的时间也是可观的。尽量把这些不必要的错误扼杀在摇篮里...
数据库操作教程 2022-09-23 17:04:50 -
SQLServer误区30日谈第2天DBCCCHECKDB会导致阻塞
误区#2:DBCCCHECKDB会引起阻塞,因为这个命令默认会加锁这是错误的! 在SQLServer7.0以及之前的版本中,DBCCCHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并且….. 在SQLServer2000时代,一个叫SteveLindell的哥们(现在仍然在SQLServerTeam)使用分析事务日志的方法来检查数据库的一致性的方式重写了DBCCCHECKDB命令。DBCCCHECKDB会阻止截断日志...
数据库操作教程 2022-09-23 17:04:37 -
SQLServer误区30日谈第24天26个有关还原(Restore)的误区
本系列文章一直所没有触及的就是有关”还原(Restore)”的话题,因为一旦牵扯到这个话题就会涉及大量的误区,多到我无法通过一篇文章说完的地步。事实上,我希望用字母表的顺序为每一个误区进行编号,希望你看了不要昏昏欲睡...
数据库操作教程 2022-09-23 17:03:52 -
SQLServer误区30日谈第27天使用BACKUPWITHCHECKSUM可以替代DBCCCheckDB
误区#27:使用BACKUP...WITHCHECKSUM可以替代DBCCCheckDB错误 乍一看,由于BACKUPWITHCHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQLServer2000或是更早版本升上来的数据库pagechecksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP...WITHCHECKSUM就有可能导致一些损坏页不被发现,造成的后果…… 除此之外,还有一个问题是完整备份的时间间隔相对比较长,假如说一个月,而相对于DBCCCheckDB的最佳实践是一个礼拜,这导致WITHCHECKSUM不能替代CHECKDB...
数据库操作教程 2022-09-23 17:03:22 -
如何创建支持FILESTREAM的数据库示例探讨
本主题说明如何创建支持FILESTREAM的数据库。由于FILESTREAM使用一种特殊类型的文件组,因此,在创建数据库时,必须至少为一个文件组指定CONTAINSFILESTREAM子句...
数据库操作教程 2022-09-23 17:03:19 -
oracle忘记sys/system/scott用户密码的解决方法
一、忘记除SYS、SYSTEM用户之外的用户的登录密码。 用SYS(或SYSTEM)用户登录...
数据库操作教程 2022-09-23 17:01:54 -
关于SQL中CTE(公用表表达式)(CommonTableExpression)的总结
一.WITHAS的含义WITHAS短语,也叫做子查询部分(subqueryfactoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNIONALL的不同部分,作为提供数据的部分...
数据库操作教程 2022-09-23 17:01:44 -
SQLServer误区30日谈第15天CheckPoint只会将已提交的事务写入磁盘
误区#15:CheckPoint只会将已提交的事务写入磁盘错误这个误区是由于太多人对日志和恢复系统缺少全面的了解而存在已久。CheckPoint会将自上次CheckPoint以来所有在内存中改变的页写回磁盘(译者注:也就是脏页),或是在上一个CheckPoint读入内存的脏页写入磁盘...
数据库操作教程 2022-09-23 17:00:27 -
SQLServer误区30日谈第18天有关FileStream的存储,垃圾回收以及其它
误区#18:如下多个有关FileStream的误区全部错误18a)FileStream数据可以在远程存储 不能,由于FileStream数据容器(指的是存放FileStream文件的NTFS文件夹,杜撰出来的术语)必须像数据文件或日志文件那样符合本地存储策略-也就是说,这个数据容器必须放在对于运行SQLServer的WindowsServer是本地存储(译者注:也就是在‘计算机'里能看到的存储,DAC当然是了,其实SAN这类不直接连接服务器的也算是)访问FileStream数据只要客户端连接到了SQLServer服务器并获取响应的事务上下文后,就可以通过UNC路径进行访问了。18b)FileStream的数据容器可以嵌套 不能,对于同一个数据库的两个不同的FileStream容器可能在同一个目录下,但是却不能嵌套...
数据库操作教程 2022-09-23 16:59:41