我在SQL Server获取下一个编码字符实现的博文中,虽然实现了这个问题,但是感觉维护起来比较麻烦,例如如果调整编码字符串的固定长度,就需要变更三个函数,这样的为何成本确实比较大.面向对象编程很重视讲究开放封闭原则,我认为数据库对象特别函数.存储等对象也要尽量封装成实现单一功能,维护起来简单,也方便后续人员的维护,便利别人也是便利自己.       针对编码字符串的规则,继续延伸总结如下: 1.第一个字符必须是字母A-Z中任意一个字符,其长度可以为1位.2位.3位,……,6位.7位.8…
周末看到SQL Server 大V潇湘隐者的获取下一个编码字符串问题,本来作为以上博文的回复,也许回复内容长度超过其允许限制,无法提交.鉴于此,特记录SQL Server实现过程,方便自己回顾和查阅.     我简单总结编码字符的规则如下: 1.5位长度,只能包含0-9数字字符和A-Z(大写)字母字符,且第一位从A开始,最小编码字符为A0000,最大编码字符为ZZZZZ. 2.编码字符是递进增加的,例如:首个编码是A0000,下一个是A0001,直到A9999,其下一个是B0000,直到B999…
    我在前一种解决方案SQL Server获取下一个编码字符实现和后一种解决方案SQL Server获取下一个编码字符实现继续重构与增强两篇博文中均提供了一种解决编码的方案,考虑良久对比以上两种方案的,后一种方案虽然解决了其中方案的缺点,但是依然存在的编码字符串长度的限制(最多满足8位长度),本博文提供的方案将编码字符串长度增加到19位,也可以足够项目中实现这些编码.          具体的编码规则可以参看以上两种解决方案博文中的描述,也可以进入SQL Server 大V潇湘隐者的获取下一…
/* 数据如下: name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b 5 b5b5b5b5b5 */ --创建表并插入数据: ),val )) , 'a2(a的第二个值)') , 'a1--a的第一个值') , 'a3:a的第三个值') , 'b1--b的第一个值') , 'b3:b的第三个值') , 'b2b2b2b2') ,…
/* 数据如下: name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个值 b 2 b2b2b2b2 b 4 b4b4 b 5 b5b5b5b5b5 */ --创建表并插入数据: create table tb(name varchar(10),val int,memo varchar(20)) insert into tb values('a', 2, 'a2(a的第二个值)')…
大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Server如何执行一个查询来建立基础.这个部分非常重要,因为接下来的培训中我们会以这些概念来加深我们对SQL Server的认识. 当我们执行一个查询时,在SQL Server中最重要的组件有哪些,下面这张图片可以给大家一个概观的认识. 可以看到,SQL Server内部分成了2个部分:关系引擎和存储引擎.在关系引擎中最大的一个组件是查询优化器.查询优化…
原文:第1周 SQL Server 如何执行一个查询 大家好,欢迎来到第1周的SQL Server性能调优培训.在我们进入SQL Server性能调优里枯燥难懂的细节内容之前,我想通过讲解SQL Server如何执行一个查询来建立基础.这个部分非常重要,因为接下来的培训中我们会以这些概念来加深我们对SQL Server的认识. 当我们执行一个查询时,在SQL Server中最重要的组件有哪些,下面这张图片可以给大家一个概观的认识. 可以看到,SQL Server内部分成了2个部分:关系引擎和存储…
SQL Server 2008下日志清理方法 (2011-07-14 10:30:45) 转自 http://blog.sina.com.cn/s/blog_4bdd3d0b0100wfvq.html 标签: it   每次看到暴涨的数据库日志就有些头大,于是乱搜一通找个办法把日志干掉,下次又头大,又搜半天,于是还是写篇blog,不用乱找了. 1.将数据库设置成 简单 模式 选择要收缩的数据库,点右键 属性->选项,选择 简单模式 2.选择任务->收缩->文件 3.选择日志 或者用如下语…
之前写过一篇博客"SQL Server中是否可以准确获取最后一次索引重建的时间?",里面主要讲述了三个问题:我们能否找到索引的创建时间?最后一次索引重建(Index Rebuild)的时间? 最后一次索引重组(INDEX REORGANIZE)的时间呢?,当时得出的结论,答案是我们无法准确的找到索引的创建时间.最后一次索引重组时间,最后一次索引重建的时间.但是最近看到一篇博客"SQL Server – Get Index Creation Date",然后研究了一下…
本文主要向大家介绍了SQLServer数据库之SQL Server 获取本周,本月,本年等时间内记录,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. datediff(week,zy_time,getdate())=0 //查询本周datediff(month,zy_time,getdate())=0 //查询本月本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0前半年1-6,后半年7-12…
    MS SQL SERVER 获取当前数据库文件等信息,适用于多个版本: SELECT dbf.file_id AS FileID , dbf.name AS [FileName] , s.filename AS FileLocation , CAST(dbf.size/128.0 AS DECIMAL(19,2)) AS FileSizeMB , CAST(CAST(FILEPROPERTY(dbf.name, 'SpaceUsed') AS int)/128.0 AS DECIMAL(…
SQL Server获取指定行(如第二行)的数据   --SQL Server获取指定行(如第二行)的数据-- --法一(对象法)-- select * from ( select * , number = row_number() over(order  by Grade desc) from Students  )  m where number = 2 --法二(排除法)--- select top 1 * from Students where Grade not in ( select…
--=================================================== --SQL Server获取OS日志: ), ), ), ) select @start_date='12/31/2012,11:59:59PM', @end_date='04/11/2013,11:59:59PM', @out_server='ebj2454' select @start_date,@end_date select @cmd='cscript c:\windows\sys…
直接拿之前一次竞赛中写的code,稍微完善了点,后面有机会在优化 uint64_t GetNextPalindrome(uint64_t data) { //100以内的数字已经特殊考虑过,不存在差值1的两个回文数 //首先得到长度,如果是奇数,取前一半+中间值构造,如果是偶数,取前一半构造 //==================== //添加部分code,得到通用的获取下一个回文数的函数,记录到代码库里面,有需要时候直接拿来用 //函数功能是获取下一个回文数, //下面的是100意外的部分,…
package main import ( "fmt" "unsafe" ) func main() { // 根据内存地址获取下一个字节内存地址对应的值 dataList := [3]int8{11, 22, 33} // 1. 获取数组第一个元素的地址 var firstDataPtr *int8 = &dataList[0] // 2. 转换成Pointer类型 ptr := unsafe.Pointer(firstDataPtr) // 3. 转换成…
IDENT_CURRENT('TableName')为当前的最大标识值,IDENT_INCR('TableName')为设置的标识值增量, 两者相加即为下一个标识值 SELECT IDENT_CURRENT('TableName') + IDENT_INCR('TableName'); 参考链接:https://social.microsoft.com/Forums/zh-CN/07c3a188-5ae1-4623-ba14-0ae2148f5be0/sql-server-id?forum=sq…
IDENT_CURRENT('TableName')为当前的最大标识值, IDENT_INCR('TableName')为设置的标识值增量, 两者相加即为下一个标识值 如: SELECT IDENT_CURRENT('TableName') + IDENT_INCR('TableName');…
最近做了一个小工具,里面涉及到一些取SQL Server 服务器信息的一些东西,找了好久,找到一个不错的,贴出来分享. 系统函数 SERVERPROPERTY ( propertyname ) 包含要返回的服务器属性信息的表达式.propertyname 可以是下列值之一: 属性名称 返回的值 BuildClrVersion 在生成 SQL Server 2005 实例时使用的 Microsoft .NET Framework 公共语言运行时 (CLR) 的版本. 基本数据类型:nvarchar…
C#数据库命封装在 System.Data.SqlClient 之中: 从使用的数据库中获取连接串connectionstring:"server=xx.xxx.xx.xx,xxxx: database=xxx:uid=xxxx:pwd=xxx;" 推荐使用using(){} 连接数据书库,再使用结束后会自动断开连接: using (SqlConnection conn = new SqlConnection(ConnectionString)) { conn.Open(); //结构…
获取 111111 的MD5值 SELECT substring(sys.fn_sqlvarbasetostr(HashBytes(,) 执行结果:965eb72c92a549dd5a330112 但是计算方法放在 sql 里结果却是另一个 SELECT TOP [PwdSalt] + ' ,substring(sys.fn_sqlvarbasetostr(HashBytes(,) ,substring(sys.fn_sqlvarbasetostr(HashBytes(), (PwdSalt +…
在SSDT中部署一个 SSAS 项目到本地服务器上出现错误. You cannot deploy the model because the localhost deployment server is not running in multidimensional mode. 错误原因是因为我在本地安装 SQL Server 2012 的时候只选择安装了 Tabular Mode,而这个Demo项目是多维数据集项目,在 SQL Server 2012 中被称之为 Multidimensiona…
背景:由于服务器硬盘损坏,服务器异常关机.重新进入后,数据库为质疑状态.(数据库名字上面有个感叹号,连接不了) 经过无数次的百度以及大佬们的指点下,终于成功恢复,下面来说一下方法. 第一种: 1.在服务器上停掉出问题的数据库服务,把.mdf数据库文件和.ldf日志文件拷贝至本地. 2.本地新建一个同名数据库,找到文件地址,停掉sql服务后.把.mdf文件删掉(可以也把.ldf也删掉,但删不删除我都试过了,最后都会重新生成一个新的.ldf的文件,所以这里没啥特别要注意的地方),再把服务器上拷贝的.…
原文地址:http://blogs.msdn.com/b/apgcdsd/archive/2012/02/28/sql-server-deadlock.aspx 最近遇到了一个看上去很奇怪,分析起来很有意思的死锁问题.这个死锁看上去难以理解.而分析过程中,又使用了很多分析SQL Server死锁的典型方法.记录下来整个分析过程还是很有意义的. 问题重现步骤: 经过提炼,问题重现的步骤非常简单,在SQL 2008上可以很容易地重现. 首先,创建一张表格,上面有一个clustered index,两…
设置步骤 进入Sqlserver Management Studio(MSSQL客户端) 选择安全性->登录名->右键新建登录名 在常规里输入用户名和密码 在"用户映射"里“映射到此登录名的用户”选择该用户可以操作的数据库 在“数据库角色成员身份”里选择"db_datareader", 这样一个只读用户就创建完成了. 服务器角色参考(可以对数据库进行表结构修改操作) 角色名称 功能描述 bulkadmin 可以运行 bulk insert 语句  bul…
一.回顾早期的SQL SERVER版本:早在SQL Server 2000时代,查询分析器的功能还很简陋,远不如VS那么强大.到SQL Server 2005时代,代码高亮.SQL优化等功能逐渐加强,但是依然无法调试SQL语句.好一点的第三方的SQL语法编辑器似乎也不够完美,这样导致一些人抱怨存储过程不便于维护,开发的时候能不用则不用.二.SQL Server 2008 Express 智能提示加强:该功能是SQL2008在SQL Server 2005之后的升级版,我们可以很方便的调用智能提示…
这个问题是在SQL SERVER 2005 升级到SQL SERVER 2014的测试过程中一同事发现的.我觉得有点意思,遂稍微修改一下脚本展示出来,本来想构造这样的一个案例来演示,但是畏惧麻烦,遂直接贴上原表,希望Leader不要叼我(当然个人觉得真没啥,两张表名而已,真泄露不了啥信息). 脚本如下所示,非常简单的一段SQL语句,我将其分为SQL1.SQL2.SQL3.  其实SQL2.SQL3是差不多的,唯一的区别在于多了一个IF EXISTS DECLARE @Operation_Code…
下一个节点: nextElementSibling 上一个节点 previousElementSibling <div> <select onchange="alert(this.nextElementSibling.id);if(this.options[this.options.selectedIndex].value == '2'){ this.nextElementSibling.style.display='';}else{ this.nextElementSibli…
看JavaScript遇到的问题,研究了下 获取上一个或者下一个同胞元素,使用很多人会立马想到JQuery  prev() 和 next() 的确非常方便.那么原生的JavaScript该怎么获取 上一个 或者 下一个 同胞元素呢? JavaScript 提供了原生的API nextSibling / prevSibling; 用法: ele.nextSibling 问题: 在现代浏览器中,nextSibing会返回下一个节点,但通常下一个节点是文本节点(产生文本节点的原因是标签之间的换行,空格…
datediff(week,zy_time,getdate())=0 //查询本周 datediff(month,zy_time,getdate())=0 //查询本月 本季:select * from table where datediff(qq,C_CALLTIME,getdate())=0 前半年1-6,后半年7-12:select * from table where datepart(mm,C_CALLTIME)/7 = datepart(mm,getdate())/7 1. 当前系…
function getNextElement(node){ //定义getNextElement()函数 if (node.nodeType==){ //条件:如果node参数nodetype属性为元素节点(真),则退出此函数,并此函数取值为node.nodetype值可为1.2.3 return node; } if (node.nextSibling){ //如果node节点的下一个兄弟节点存在即条件为真,则退出此函数,并递归,参数变为node节点的下一个兄弟节点. return getN…