随笔分类 - sqlserver
摘要:今天安装sqlserver2014后 发现启动2014的服务,过几秒就会自动停止 通过查看windows日志发现是系统库路径报错~ google了下 发现 "重新生成系统库"就能解决此问题 https://docs.microsoft.com/zh-cn/sql/relational-databas
阅读全文
摘要:新机子 成功装了vs2010,然后装sql2012提示让装vs2012sp1,下载了sp1,装的时候,装到最后一个包NDP40-KB2468871的时候报错了KB2468871安装失败错误:Exe (F:\迅雷下载\VS2010SP1dvd1\NDP40-KB2468871.exe) failed with 0x8007066a - Windows Installer 服务无法安装升级更新程序,因为被升级的程序可能会丢失或是升级更新程序可能更新此程序的一个不同版本。请确认要被升级的程序在您的计算机上且您的升级更新程序是正确的。 .Final Result: Installation faile
阅读全文
摘要:根据用户输入的时间查询那天的数据即 >=用户输入的时间 ='2013-08-20' AND PriceDate<DATEADD(d,1,CONVERT(varchar(100), '2013-08-20', 20))这种方式为什么查不到结果select * from Pt_MZ_ChargeDetail where 1=1 and PriceDate like '%2013-08-20%' 如果只用2013就可以查到的select * from Pt_MZ_ChargeDetail where 1=1 and PriceDate li
阅读全文
摘要:sql语句 关键字等--打开IO统计set statistics io on--打开时间统计set statistics time onselect * from Product where[name] like 'p%'--关闭IO统计set statistics io off--关闭时间统计set statistics time offdbcc loginfo--查看日志信息--非聚集索引覆盖create nonclustered index test_coverage_soh on xxx(customerid,adressid)--include的魔力 前边俩个是有序的
阅读全文
摘要:创建一个临时表的时候.如果不指定列的长度,则临时表列的长度会根据所参照的表的对应列的大小,如--创建一个表Create table tmp1 (tmp1 varchar(3))--创建临时表select tmp1.tmp1 as tmp2 into #tmp2 from tmp1--第一条语句成功,但是第二条失败,因为超出了长度insert into #tmp2 values('123')insert into #tmp2 values('1234')--而如果没有参照其他数据表,则临时表的列会根据第一条插入的语句的数据长度而自动设置 ,如select '
阅读全文
摘要:需求:表名是动态的,必须用exec来执行,然后在exec里边还得给变量动态赋值 这时候exec 就搞不定了exec('select @count=count(empid) from '+@tableName+' where proid='+@proid+' and id<'+@id+' and state!=4')下边这个代码如果去掉where后边的东东就是可以的一:正确set @sql=N'select @count=count(empid) from '+@tableNameexec sp_execute
阅读全文
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎
阅读全文
摘要:1.更改登录的默认数据库比如你删掉了一个数据库 然后sql账号登陆不上去了 说 没有默认账号 那是因为你刚好删掉了这个账号的默认数据库执行下边的语句就好了,也就是设置master为你sql账号的默认数据库:EXEC sp_defaultdb 'sa', 'master'2.cmd命令执行sql文件说明:由于xx.sql文件太大,查询分析器打不开超时所以用以下方法开始--运行--cmd :osql -S 127.0.0.1 -U sa -P sa -i d:\test.sql3.sql2008转成sql2005或者sql2005转成sql2000说明:生成.sql
阅读全文
摘要:得到此数据库所有的表名列名以及列名的类型,字节数等selecta.Name as 表名,b.Name as 列名,c.Name as 类型,b.max_length as 字节数,b.Precision as 整数位,b.Scale as 小数位from Sys.tables ainner join Sys.columns b on a.object_id=b.object_idinner join sys.Types c on c.User_Type_ID=b.User_Type_ID 在哪个表里查询哪个字段的类型等详细信息可以这样selecta.Name as 表名,b.Name as 列
阅读全文
摘要:需求:两张表合并去掉重复的效率低的:INSERT INTO D SELECT *FROM Fwhere F.编号 not in(select 编号 from D);效率高的:select * from A union all select * from B ----2个表的全部记录(包括重复的,不排序) or select * from A union select * from B -----排序并去掉重复的记录
阅读全文
摘要:sql05不能用了,数据库又没个08怎么办呢这时候不用卸载vs10 和sql08、05,只需要安装一个sql08就行了记住:这时候08安装的时候要自定义一个实例 比如:mysql2008(不能在使用默认实例了)sql server 2008 express 安装的时提示“重启计算机失败删除注册表键HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations,然后再试一下。在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke打开进程关掉所有的
阅读全文
摘要:无意中得到一个pdf,上边写着数据库中可以写正则 ,看下边代码select * from userinfo where username like 'A%P' or username like 'B%P' or username like 'C%P' 可以被下边的替换select * from userinfo where REGEXP_LIKE(username,'^[A,C]p$')create table userinfo(username nvarchar(50),password nvarchar(20),email n
阅读全文
摘要:写到这里是为了搜索方便~由于老是忘记去闪存搜索先来乐呵乐呵:10个最“优秀”的代码注释每积累一点写到这里!!!1.net 不区分大小写String.Compare(aaa,bbb,true) //true 表示不区分大小写2.net 大小写转换变量.ToLower()变量.ToUpper()3.net常用快捷键 来自:http://www.cnblogs.com/xiaomi7732/archive/2011/11/01/2230935.html#pagedcomment注意:可能有些人的ctrl+.无效 不要担心可以用shift+alt+F10来代替格式化对齐 ctrl+K+F怎么快...
阅读全文
摘要:原数据: 项目名称 完成否 主闸 是 主闸 是 主闸 否 发动机 是 发动机 否 发动机 否 链条 是 链条 是 链条 否想要得到的数据: 项目名称 完成百分比 主闸 2/3 发动机 1/3 链条 2/3SQL语句应该如何写?select name,CONVERT(VARCHAR(100),(sum( case complete when '是' then 1 when '否' then 0end)))+'/'+ CONVERT(VARCHAR(100),count(complete )) from #tgroup by name原帖:http:
阅读全文
摘要:语法:function aa(){//m、p可以是任意类型的数据 数组 int string datset datatable var m; var p; return {a:m,b:p}}function bb(){ var ref=aa(); alert(ref.a); alert(ref.b);}//经过测试 OKfunction getTacheContract(){var dt=QLfolw.getTacheContract(tmpid).value;//datatablevar dtLength=QLfolw.getTacheContract(tmpid).value....
阅读全文
摘要:declare @id int,@temp nvarchar(100)set @id=2set @temp='1,2,3,12,21,51'if(charindex(','+convert(nvarchar,@id)+',',','+@temp+',')>0)beginselect 1end 听说sql不善于逻辑的分析所以用if 效率低 可以用case替换declare @id int,@temp nvarchar(100)set @id=2set @temp='1,2,3,12,21,51'
阅读全文
摘要:with T1 As (Select * From Table1)Select * From T1 where sex=1 Union All Select * From T1 where type=2
阅读全文
摘要:临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。临时表有两种类型:本地和全局。它们在名称、可见性以及可用性上有区别。本地临时表的名称以单个数字符号 (#) 打头;它们仅对当前的用户连接是可见的;当用户从 SQL Server 实例断开连接时被删除。全局临时表的名称以两个数字符号 (##) 打头,创建后对任何用户都是可见的,当所有引用该表的用户从 SQL Server 断开连接时被删除。来自这里:传送门select*into #d from tachecontractid --#d没有提前声明 insertinto #temp se...
阅读全文
摘要:--得到总行数select count(proid) from (select distinct proid from tachecontractid where (empid=@uid or departid=@did) and state>2) as a--查询出来的时候插入到临时表 select * into #d from tachecontractid a where id=(select min(id) from (select* from tachecontractid where (departid=@did or empid=@uid) ...
阅读全文
摘要:操作系统等数据库服务器下载地址:http://msdn.itellyou.cn/ 非常好的资源 强烈推荐windows2003 下载地址:http://dasairen.com/Common/ShowDownloadUrl.aspx?urlid=0&id=9247 用迅雷下载超快sqlserver2005企业版 下载地址:ed2k://|file|cs_sql_2005_ent_x86_dvd.iso|972310528|4CEEF4B959894FD78C8F8416B4BA533E|/下载之后 安装提示错误 你点击 查看错误 给你提示sql90setup明面上的提示:执行安装向导期
阅读全文