参考文献: http://database.51cto.com/art/200803/67397.htm 正文 在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1.MSSQL: ISNULL() 语法 ISNULL ( check_expression , replacement_value ) 参数 check_expression 将被检查是否为 NULL的表达式.check_expression 可以是任何类型的. replacement_value…
原文:ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接 安装ArcSDE for SQL Server,最后一步成功后的界面如下: 在ArcMap中创建ArcSDE连接,截图如下:…
/************************************************************ * Sql Server 2008 R2 清空数据库中ldf日志文件 * 将Whir_InternalSystem替换为您要操作的数据库即可 ************************************************************/ USE [master] ALTER DATABASE [Whir_InternalSystem] SET R…
原文:SQL Server的非聚集索引中会存储NULL吗? SQL Server的非聚集索引中会存储NULL吗? 这是个很有意思的问题,下面通过如下的代码,来说明,到底会不会存储NULL. --1.建表 if OBJECT_ID('t1') is not null drop table t1 go create table t1 ( id int primary key, v varchar(20) ) insert into t1 select 1 ,'aa' union all select…
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/索引体系结构/堆 概述 本篇文章是关于堆的存储结构.堆是不含聚集索引的表(所以只有非聚集索引的表也是堆).堆的 sys.partitions 中具有一行,对于堆使用的每个分区,都有 index_id = 0.默认情况下,一个堆有一个分区.当堆有多个分区时,每个分区有一个堆结构,其中包含该特定分区的数据.例如,如果一个堆有四个分区,则有四个堆结构:每个分区有一个堆结构.根据堆中的数据类型,每个堆结构将有一个或多个分配单元来存储和…
这是关于子查询语句的一系列文章中的第三篇.在这篇文章中我们将讨论WHERE语句中的子查询语句.其他的文章讨论了其他语句中的子查询语句. 本次课程中的所有例子都是基于Microsoft SQL Server Management Studio和AdventureWorks2012数据库的.读者可以阅读我的SQL Server使用入门学习使用这些免费的工具. 在WHERE语句中使用子查询 在WHERE语句中使用子查询是非常常见的.常见的用法是用EXISTS或IN测试存在性.在某些情况下重新考虑查询语…
在最近的数据库跨机房迁移中,由于硬件的限制,需要滚动式地将数据库一台台迁移到新机房,先在新机房搭建一个新环境,将数据迁移过去,再将旧机房的机器下架搬到新机房,重新配置后用于下一轮的升级,重新配置过程中,有以下几个问题: 1:由于机房和IP已经发生变化,因此需要按照命名规则修改服务器名称. 2:原数据库上的数据如登录账号/作业/链接服务器等等需要删除 3:部分服务器因磁盘变动,仅保留系统盘,部分SQL Server文件(如果系统数据库文件)已经丢失 对于问题1和问题2,可以进行手动删除或者写个脚本…
一般有两种方法可以实现,一种是直接写sql语句,另外一种是利用sqlserver的管理工具实现.这里介绍的是后面一种方法. 步骤: 一.准备数据 1.将excel表另存为文本格式,注意文本格式需为tab delimited格式直译过来就是以tab作为分隔符的文本,另存的时候可以看到.之所以这么弄,是因为直接上传excel文档,excel中会有很多的占位符,读入的时候回出现一些单元格字符长度过大,造成直接读入数据库变为null.当然也可以去设置excel的格式 . 二.数据导入 1.打开sql s…
<Pro SQL Server Internals> 作者: Dmitri Korotkevitch 出版社: Apress出版年: 2016-12-29页数: 804定价: USD 59.99装帧: PaperbackISBN: 9781484219638 索引的设计与调整 索引不可能在任何地方都适用.每个系统都是独特的,并且需要基于工作负载.业务需求和许多其他因素的自己的索引方法.然而,有几个设计考虑和指导方针可以应用在每个系统中. 当我们优化现有系统时也是如此.虽然优化是一个迭代过程,在…
1.  char.varchar.nvarchar 区别 char 定长字符数据长度8000字符,小于8000字符时以空格填充. varchar 变长字符数据最大长度8000,小于8000字符时不会以空格填充. nvarchar 不定长unicode字符数据,最大字符4000. 当内容中有中文时应该用 nvarchar 或 nchar 因为unicode字符集兼容中文,当系统语言区域不是中文时,如果将中文存放在varchar中会出现乱码. 2. 什么时候用 NULL NULL值的定义是不确定的值…
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 遇到的问题(Problems) 实现代码(SQL Codes) 方法一:拼接SQL: 方法二:调用模板存储过程创建存储过程: 总结 扩展阅读 参考文献(References) 二.背景(Contexts) 在我的数据库服务器上,同一个实例下面挂载着许多相同结构的数据库,他们为不同公司提供着服务,在许多时候我需要同时创建.修改.删除一些对象,存储过程就是其中一个,但是想要批量创建存储,这有些特…
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} 1.       首先说明, Sql server仅仅支持向上兼容, 但是微软提供了另一种向下导入的功能, 那就是使用脚本. 并且该脚本是微软代为生成的. 2.       打开SQL Server Manageme…
1.在Access数据库中简历查询语句的步骤 --> 打开你的MDB --> 在数据库窗口中,点击“查询”,或在“视图”菜单中选择“数据库对象”-> “查询” --> 点击数据库窗口中的“新建”按钮 --> 点击“确定”,关闭“显示表”窗口 --> 点击工具栏上的“SQL”,或在“视图”菜单中选择“SQL   视图” --> 删掉所有的内容 --> 直接输入SQL语句即可 2.  Access 数据库,每次只能执行一条sql语句,如果想在Access数据库中…
(SQL SERVER)怎样处理作业中的远程服务器错误(42000) 问: 1.我创建了一个链接服务器. 2.在两台服务器之间创建了新的SQL用户. 3.编写了访问链接服务器的SQL语句,执行成功. 4.同样的语句,放在SQL代理作业中执行,不成功.系统提示如下错误信息: 已以用户 XXX 的身份执行. 由于当前安全上下文不可信,因此访问远程服务器的请求遭到拒绝. [SQLSTATE 42000] (错误 15274).  该步骤失败. 为什么? 答: 请根据以下步骤检查 1. 确保用户XXX在…
一.事务的概述 上一章节里,重点讲到了锁,以及锁与事务的关系.离上篇发布时间好几天了,每天利用一点空闲时间还真是要坚持.听<明朝那些事儿>中讲到"人与人最小的差距是聪明,人与人最大的差距是坚持"很经典的一句话一直记得.这篇重点围绕事务来开展.涉及的知识点包括:事务的概述,事务并发控制模型,并发产生的负面影响,事务隔离级别以及不同的表现.本章多以文字描述为主,没有多少代码量,重点是阐述不同隔离级别的不同表现,在以后的业务中,涉及到事务时,本文可以用来做个参考. 1.1 事务A…
有朋友常常会发现自己的数据库全部的内容给插入了一些代码,假设要一个个表一个个记录去删除.太麻烦了,以下我在在网上找到一个能够批量删除的方法,实际上是批量把那段恶意代码替换,很高速. declare @t varchar(255),@c varchar(255) declare table_cursor cursor for select a.name,b.name from sysobjects a,syscolumns b ,systypes c where a.id=b.id and a.x…
在涉及到SQL Server编程或是管理时一定会用到数据的导入与导出, 导入导出的方法有多种,此处以SQL Server导入表数据为例.阐述一下: 1.打开SQL Server Management Studio.在对象资源管理器中,展开"SQL Server 实例"→"数据库"→"你须要导入数据的数据库"节点.单击鼠标右键,选择"任务"→"导出数据"命令. 出现导入和导出向导的欢迎界面,单击"下…
SQL Server在用户自定义函数中UDF使用临时表,这是不允许的. 有时是为了某些特殊的场景, 我们可以这样的实现: CREATE TABLE #temp (id INT) GO INSERT INTO #temp VALUES (1),(2),(3) GO CREATE SYNONYM temp_table_synonym FOR #temp GO CREATE FUNCTION fn_select_temp_table () RETURNS TABLE AS RETURN ( SELEC…
SQL Server中有些SQL语句只能在一个批处理里面完成,例如CREATE SCHEMA语句创建SCHEMA的时候,每个SCHEMA都需要在一个单独的批处理里面完成: CREATE SCHEMA [raw]; GO CREATE SCHEMA [src]; GO CREATE SCHEMA [app]; GO 所以上面语句中,我们就要在每个CREATE SCHEMA语句后面加上GO关键字,使得每个CREATE SCHEMA语句在单独的批处理中执行,这样三个CREATE SCHEMA语句才不会…
在SQL Server的查询条件中,能否在IN里面使用变量呢? 如果可以的话,有没有需要注意的地方或一些限制呢?在回答这个问题前,我们先来看看这个例子: IF EXISTS (SELECT 1 FROM sys.objects WHERE name='TEST' AND type='U') BEGIN     DROP TABLE TEST; END GO CREATE TABLE TEST ( ID INT, NAME VARCHAR(16) ); GO   INSERT INTO dbo.T…
查看了网上的一些方法,均是以前版本的处理方法,不过原理都是删除"SqlStudio.bin",通过“Everything”搜索SqlStudio.bin,位置是: C:\Users\登录用户\AppData\Roaming\Microsoft\SQL Server Management Studio\12.0\SqlStudio.bin 删除SqlStudio.bin,重启企业管理器,服务器连接那里的历史记录已经全部清除.…
举例: 我现在是需要查询这字段里包含1的数据  我如果直接charindex,那么11,12也会被包含. 解决(1): select * from ( select '1,2,12,111' as str union all select '2,12,111' union all ' ) t1 where ','+str+',' like'%,1,%' 解决(2): 利用如mysql中的find_in_set办法 自己写一个自定义函数split,利用outer apply,这个比较简单,这里不做…
举例: 我现在是需要查询这字段里包含1的数据 我如果直接charindex,那么11,12也会被包含. 解决(1): SELECT * FROM ( SELECT '1,2,12,111' AS str UNION ALL SELECT '2,12,111' UNION ALL SELECT '1' ) t1 WHERE ',' + str + ',' LIKE '%,1,%' 解决(2): 利用如mysql中的find_in_set办法 自己写一个自定义函数split,利用outer appl…
https://blog.csdn.net/xinghuo0007/article/details/70651358 知识点一:charindex()语法 CHARINDEX ( expression1 , expression2 [ , start_location ] ) 解析: expression1 必需 ---要查找的子字符串 expression2 必需 ---父字符串 start_location 可选 ---指定从父字符串开始查找的位置,默认位置从1开始 知识点二: charin…
SELECT id , rownum FROM test ))),) ASC 1.如果想要根据字符型的数字排序,不建议转换成数字类型在order by,因为数据存在字符时,可能转换失败. 2.使用RIGHT方法,格式化字符串,如上述代码所示,假设rownum字段长度为10,数据中包含'1','11','tt',转换后为'0000000001','0000000011','00000000tt'…
1.查找字段在库中哪个表 如果要查找FName select   a.name,b.name   from   syscolumns a   inner   join   sysobjects   b   on   a.id=b.id  where   a.name   =   'FName' 2.查找数据值在哪个表中 如果要查找 制动器组 declare @cloumns varchar(40) declare @tablename varchar(40) declare @str varch…
死锁对于DBA或是数据库开发人员而言并不陌生,它的引发多种多样,一般而言,数据库应用的开发者在设计时都会有一定的考量进而尽量避免死锁的产生.但有时因为一些特殊应用场景如高频查询,高并发查询下由于数据库设计的潜在问题,一些不易捕捉的死锁可能出现从而影响业务.这里为大家介绍由于设计问题引起的键查找死锁及相关的解决办法. 这里我们在测试的同时开启trace profiler跟踪死锁视图(locks:deadlock graph).(当然也可以开启跟踪标记,或者应用扩展事件(xevents)等捕捉死锁)…
--建立一张表 create table cat( catId int, catName varchar(40) ) --将下边的插入语句,多执行几次. insert into catvalues(1,'aa') select * from cat 通过查询语句将看到表中出现N个重复记录 --如何删除掉一张表重复记录 步骤如下: --1.把cat表的记录distinct后的结果,放到临时表中 select  distinct * into #temp from cat --2.把cat表的记录清…
SQL C# bigint(sql大小:8byte) long(64位) int, integer(sql大小:4byte) int(32位) smallint(sql大小:2byte) short(16位) tinyint(sql大小:1byte) byte(8位) 注意: 使用整数数据的精确数字数据类型. bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字).存储大小为 8 个字节.…
/* 数据如下: 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') ,…