随笔分类 -  SqlServer

摘要:--1.创建链接服务器,相当于创建一个访问远程数据库的快捷方式 exec sp_addlinkedserver 'TestLink', ' ', 'SQLOLEDB ', '111.11.1.111'; exec sp_addlinkedsrvlogin 'TestLink', 'false',nu 阅读全文
posted @ 2016-03-11 14:54 已注销1 阅读(523) 评论(0) 推荐(0)
摘要:exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure select * from OPENROWSET('MICROSO 阅读全文
posted @ 2016-03-11 14:53 已注销1 阅读(268) 评论(0) 推荐(0)
摘要:有这样一个表tbl id code name 11 a aa/bb/cc 22 b ee/rr/tt 需要将name段根据‘/’拆分开来,变成新的数据行 即: id code name 11 a aa 11 a bb ......以下省略..... 先给该表加上序号,存入临时表 select ROW 阅读全文
posted @ 2016-03-11 14:52 已注销1 阅读(562) 评论(0) 推荐(0)
摘要:例如 select * from tbl_a a left join tbl_b b on b.docno=a.docno and b.project=a.project where a.docno='xxx' 发现a的project列和b的project列都为 null 于是匹配不到值 最后改为: 阅读全文
posted @ 2016-03-11 14:52 已注销1 阅读(515) 评论(0) 推荐(0)
摘要:In Exists () 1分42秒 5秒 Exists() 返回布尔值 如果子查询结果行>0,则返回 TRUE。 反之返回FALSE exists(select * from tbl) 等同于 ( select count(*) from tbl )>0 In Exists () 1分42秒 5秒 阅读全文
posted @ 2016-03-11 14:51 已注销1 阅读(718) 评论(0) 推荐(0)
摘要:declare @str varchar(8000)set @str='SQL语句' select replace(@str,char(10),'') 阅读全文
posted @ 2016-03-11 14:51 已注销1 阅读(615) 评论(0) 推荐(0)
摘要:1. 获取表的基本字段属性 获取SqlServer中表结构 SELECT syscolumns.name,systypes.name,syscolumns.isnullable, syscolumns.length FROM syscolumns, systypes WHERE syscolumns 阅读全文
posted @ 2016-03-11 14:51 已注销1 阅读(147) 评论(0) 推荐(0)
摘要:以前很懒,都是用拼接字符串的方式,加上if 语句,根据输入参数是否为空来判断是否需要在where 后加上对应字段的条件限制 但是拼接字符串很烦,又总是被转义符搞得很烦 '''' 所以想了其他办法 分三种情况(varchar,int,date)都尝试了一下 使用case when 和通配符当主角,而不 阅读全文
posted @ 2016-03-11 14:51 已注销1 阅读(1801) 评论(0) 推荐(0)
摘要:一开始是要想要分离掉数据库,然后将其删除 不知道为什么一直分离不了,试了很多次,又尝试直接删除 结果数据库突然显示成了“单个用户” 尝试查看其属性,或者“新建查询”也都报错,提示已经有其他用户建立了连接什么的 通过百度找到了一段可以kill掉该数据库进程的sp,执行也仍然报错 于是,用了最直接的办法 阅读全文
posted @ 2016-03-11 14:50 已注销1 阅读(444) 评论(0) 推荐(0)
摘要:alter proc sp_test( @name varchar(50))asbegin --开始事务 begin transaction --设置一个存储报错代码的变量 DECLARE @errorSum INT SET @errorSum=0 --在每一条涉及到数据变动的语句后都累加一次报错代 阅读全文
posted @ 2016-03-11 14:50 已注销1 阅读(409) 评论(0) 推荐(0)
摘要:--先开启cmdshell EXEC sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'xp_cmdshell', 1 GO RECONFIGURE GO /**导出指定表的文本文件 */EXEC 阅读全文
posted @ 2016-03-11 14:50 已注销1 阅读(2415) 评论(0) 推荐(1)
摘要:HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE 子句搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。HAVING 语法与 WHERE 语法类似,但 HAVING 可以包含聚合函数。HAV 阅读全文
posted @ 2016-03-11 14:50 已注销1 阅读(1749) 评论(0) 推荐(0)
摘要:例如要在test表里插入多行数据 假设字段有: ID、Name 首先要有需要导入的数据的Excel A1 对应ID B1 对应Name 选中Excel第一行的空白处,比如C1,在工具栏的函数文本框里输入以下函数: ="insert into test (ID,Name) values ("&A:A& 阅读全文
posted @ 2016-03-11 14:49 已注销1 阅读(358) 评论(0) 推荐(0)
摘要:全进位 select cast(ceiling(2.1111) as dec(18,0)) 结果:3 阅读全文
posted @ 2016-03-11 14:49 已注销1 阅读(88) 评论(0) 推荐(0)
摘要:create table #temp( id int identity(1,1), name varchar(20), startYear int, startMonth int) insert into #tempselect 'z','2010','12' union allselect 'e' 阅读全文
posted @ 2016-03-11 14:49 已注销1 阅读(6076) 评论(0) 推荐(0)
摘要:转自百度百科 与where 相比 HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。 WHERE 子句搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。 HAVING 语法与 WHERE 语法类似, w 阅读全文
posted @ 2016-03-11 14:49 已注销1 阅读(727) 评论(0) 推荐(0)
摘要:如果我们想知道每个国家有多少种水果,那么我们可以通过如下SQL语句来完成: SELECT COUNT(*) FruitName AS 水果种类, ProductPlace AS 出产国 FROM T_TEST_FRUITINFO GROUP BY ProductPlace 阅读全文
posted @ 2016-03-11 14:49 已注销1 阅读(292) 评论(0) 推荐(0)
摘要:CASE WHEN的两种格式 1.简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END 2.Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' E 阅读全文
posted @ 2016-03-11 14:48 已注销1 阅读(551) 评论(0) 推荐(0)
摘要:create table #temp20110610( id int identity(1,1), date varchar(8), qty float) insert into #temp20110610select '20110401',40 union allselect '20110402' 阅读全文
posted @ 2016-03-11 14:48 已注销1 阅读(426) 评论(0) 推荐(0)
摘要:ISNULL(参数1,参数2) 若参数1为空,则返回参数2 NULLIF(参数1,参数2) 若参数1和参数2不等,则返回参数1 若参数1和参数2相等,则返回NULL 例子:ISNULL(NULLIF(字段名XX,''),'AAA') ISNUMERIC(参数1) 判断参数1是否为数字,是数字就返回1 阅读全文
posted @ 2016-03-11 14:48 已注销1 阅读(471) 评论(0) 推荐(0)