![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL数据库
文章平均质量分 82
anihasiyou
.net,php,java,web,rpa
展开
-
sql grouping with rollup 按部门 合并一些部门
分类汇总----------------------------------------------------------------select CASE WHEN GROUPING([DEP])=1 THEN '总计' ELSE [DEP] END as DEP,isnull(sum(CASE WHEN [Date] between '2013-01-1' and '2013-12原创 2013-06-05 00:01:11 · 1471 阅读 · 0 评论 -
SQL Server 2008 $PARTITION 分区函数和分区表详解
本文详细介绍SQL Server 2008 分区函数和分区表,包括查询某个分区、归档数据、添加分区、删除分区等内容。转载 2015-10-14 16:53:19 · 1983 阅读 · 0 评论 -
一个非常有用的函数——COALESCE 多行合并成一行
首先看看联机丛书的简要定义语法 下面来看几个比较有用的例子首先从MSDN上看看这个函数的使用方法coalesce函数下面简称函数返回一个参数中非空的值如然后来看看把函数应用到Pivot中下面语句在AdventureWorks 数据库上运行如果想扭转结果可以使用下面的语句使用函数来执行多条SQL命令还有一个很重要的功能当你尝试还原一个库并发现不能独占访问时这个功能非常有效我们来打开多个窗口来模拟一下多个连接然后执行下面的脚本转载 2015-10-22 14:23:42 · 5501 阅读 · 0 评论 -
SQL Server 2008中的hierarchyid
这也是SQL Server 2008的一个重要新增特性。主要解决的问题是拥有层次关系的表格。例如我们日常生活中用到最多的组织结构图。我们一般会用一个Employees表保存员工数据,而每个员工则又可能会有相应的上级。以前要得到某个员工的所有上级,或者所有下级,通常所采取的方法都是递归。SQL Server 2005开始支持的CTE从一定程序上方便了该工作的实现。但SQL 2008的hier转载 2014-12-13 10:11:38 · 672 阅读 · 0 评论 -
Sql Server exists 查询相同姓名或编号 年份最大的一条数据
select code,zw,zj,year from ZW a where not exists(select 1 from ZW where code=a.code and year>a.year)对ZW表进行扫描,编号(或姓名)相同情况下,没有比前边年份大的数据存在,也就是取相同编号(或姓名)年份最大的一条数据。原创 2015-01-29 16:30:38 · 4250 阅读 · 1 评论 -
Sql Server where case 满足条件执行 不满足 不做任何条件查询
sql 里经常用的where语句中可以使用case when常用的 select * from tb where a= case when b>0 and b=100 then 2 else 3 end满足条件执行大于某个值,不满足不执行查询 select * from tb where ((case when isnull([a],'')100)原创 2014-12-18 11:21:06 · 10420 阅读 · 0 评论 -
Sql Server 计算某个字符 在字符串中有多少
引言:比如有一个字符串“oiddiaj/j9jkl/88ol”,想要去除字符串中/的个数,用到len这个方法len('oiddiaj/j9jkl/88ol')-len(replace('oiddiaj/j9jkl/88ol','/',''))原创 2014-12-17 14:02:13 · 6230 阅读 · 1 评论 -
SQL SERVER:不同服务器数据库之间的数据操作
不同服务器数据库之间的数据操作--创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogin 'ITSV ', 'false ',null, '用户名 ', '密码 '--查询示例 select * from ITSV.数据库转载 2014-03-17 14:15:45 · 1488 阅读 · 0 评论 -
SQL Server 触发器
原文地址:http://www.cnblogs.com/hoojo/archive/2011/07/20/2111316.html触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一转载 2014-01-15 10:33:14 · 614 阅读 · 0 评论 -
sql update 编号前增加数字前缀等 根据相同字段更新不同字段
一、int类型比如11在前边都加上301(变成30111),需要先把int转成字符串型添加301以后再转换成int类型------------------------UPDATE [tb].[dbo].[a]SET code = convert(int,'301'+convert(nvarchar(50),code)) WHERE name='a'二、A.c1与B.c1相等原创 2013-06-04 23:40:46 · 4264 阅读 · 0 评论 -
Sql 递归查询
Sql语句里的递归查询 SqlServer2005和Oracle 两个版本 以前使用Oracle,觉得它的递归查询很好用,就研究了一下SqlServer,发现它也支持在Sql里递归查询举例说明:SqlServer2005版本的Sql如下:比如一个表,有id和pId字段,id是主键,pid表示它的上级节点,表结构和数据:CREATE TABLE [转载 2014-02-10 14:30:13 · 826 阅读 · 0 评论 -
SQL Server公历转农历函数
--创建农历日期函数 if object_id('fn_GetLunar') is not null drop function fn_GetLunargo create function dbo.fn_GetLunar(@solarday datetime) returns nvarchar(30) as begin转载 2014-02-08 16:33:37 · 3854 阅读 · 0 评论 -
SQL Server三种高效率分页方法
1.如果有一个自动增长的id字段,则: 定义二个变量:Page,PageCount Select top PageCount * From [tb_code] Where id>=(select min(id) from (select top (Page-1)*PageCount+1 id from [tb_code] order by id desc) as t) orde原创 2014-01-18 10:53:08 · 2554 阅读 · 0 评论 -
SQL Server 日期和时间函数
1、常用日期方法(下面的GetDate() = '2013-11-13 13:37:56.233')(1)DATENAME ( datepart ,date ) 返回表示指定日期的指定日期部分的字符串。Datepart详见下面的列表.SELECT DateName(day,Getdate()) –返回13(2)DATEPART ( datepart , date原创 2013-11-14 13:46:45 · 883 阅读 · 0 评论 -
Sql Server 考勤 按考勤号码按月份 分组汇总
select id,考勤号码,name,dep,ISNULL([KQ].[cktime],'') as cktime,ISNULL([KQ].[cktimet],'') as cktimet,convert(varchar(20),date,120) as date,convert(varchar(40),Checkin,120) as Checkin,convert(varcha原创 2013-09-18 11:13:41 · 1563 阅读 · 0 评论 -
sql insert into 一次性插入多条数据 从一张表中查询到的数据插入到另一张表
--插入多条数据使用DEFAULT关键字(第二种方法,不要将默认列名写出,在UNION后面加上all,最后一行不加)-------------------------------------------------------------------------------insert into [G]([员工编号],[姓名],[公司],[类型],[记录],[updatetime])SE原创 2013-06-04 23:53:24 · 23426 阅读 · 0 评论 -
Sql Server,Oracle 排序order by 数据有null的情况
【sqlserver】:sqlserver 认为 null 最小。升序排列:null 值默认排在最前。要想排后面,则:order by case when col is null then 1 else 0 end ,col降序排列:null 值默认排在最后。要想排在前面,则:order by case when col is null then 0 els转载 2013-09-10 15:23:35 · 2635 阅读 · 0 评论 -
SQL Server字符串各种查询
一、查询某值是否在以逗号隔开字段内charindex(','+@查詢字符+',',',+@某個字符串或字段+',')>0SELECT COUNT(1) FROM [tb] where charindex(',2,',','+[rolesGroup]+',')>0二、查询方括号或者小口号中间包含某个字符的例如:形如:模糊[模糊01模糊]模糊charindex('[',[Content])...原创 2018-06-15 16:51:49 · 3517 阅读 · 0 评论