随笔分类 - 数据库 / Sql Server
摘要:1.distinct去重 注意的点:distinct 只能一列去重,当distinct后跟大于1个参数时,他们之间的关系是&&(逻辑与)关系,只有全部条件相同才会去重 弊端:当查询的字段比较多时,distinct会作用多个字段,导致去重条件增多 select distinct UserResult
阅读全文
摘要:declare @weekDay int=0, @weekStr varchar(10)='',--星期几 @startDate datetime ='2022-10-03', @Endate datetime ='2022-10-09' declare @WeekTable table (Date
阅读全文
摘要:摘自:https://www.cnblogs.com/guorongtao/p/11939751.html 1、正常循环语句 declare @orderNum varchar(255) create table #ttableName(id int identity(1,1),Orders var
阅读全文
摘要:/* 功能:分割字符 示例:select * from split('aa,bb,cc,dd',',') */ CREATE FUNCTION [dbo].[split] ( @String VARCHAR(MAX),--字符串 @Delimiter VARCHAR(MAX)--需分割的字符 ) R
阅读全文
摘要:/* *除去字符串中的中文字符 */ CREATE FUNCTION [dbo].[fn_GSB_DropChinese] (@value varchar(1000)) returns varchar(1000) AS begin declare @returnchar varchar(100) d
阅读全文
摘要:FOR XML PATH 简单介绍 首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下: 接下来我们来看应用FOR XML PATH的查询结果语句如下: SELECT * FROM hobby FOR XML PATH 结果: <row> <
阅读全文
posted @ 2022-06-28 17:18
~且听风吟~
摘要:STUFF():在 SQL Server 中,stuff() 函数用于从源字符串中删除给定长度的字符序列,并从指定的起始索引插入给定的字符序列。 用法: STUFF (source_string, start, length, change_string) source_string:字符数据 st
阅读全文
摘要:select stuff((select ','+title from tb for xml path('')),1,1,'') --其中tb是表名,title是要合并的表中的字段名称
阅读全文
摘要:sql server中递归并不与Oracle等数据库中的递归一样。在sql server中递归使用join自连接完成的,当然这些都要在with as短句中完成的,下面我们先来说一下with as 短句。1.关于with as短句WITH AS短语,也叫子查询部分(subquery factoring
阅读全文
摘要:create function [dbo].[ft_get_recursion_deptlist]( @deptcode nvarchar(20),--部门代码 @direction bit =0 --递归方向 0表示向上,1表示向下 --@showDelete bit =0--0表示不显示删除部门
阅读全文
摘要:create procedure sys.sp_helptext @objname nvarchar(776) ,@columnname sysname = NULL as set nocount on declare @dbname sysname ,@objid int ,@BlankSpace
阅读全文
摘要:declare @tablename nvarchar(100)='sys_company_employee'--表名 begin if(isnull(@tablename,'')='') return ; set @tablename=rtrim(ltrim(replace(replace(@ta
阅读全文
摘要:前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求。 比如,左表一条关联右表多条记录时,我需要控制右表的某一条或多条记录跟左表匹配。貌似,INNER JOIN 或 LEFT OUTER JOIN 不能很好完成。
阅读全文
摘要:定义和用法 DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是下列的值: 实例 select DATEDIFF(dd,'2021-12-01','2021-12-02 ')day --
阅读全文
摘要:定义和用法 DATEPART() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。 语法 DATEPART(datepart,date) date 参数是合法的日期表达式。datepart 参数可以是下列的值: 实例 SELECT DATEPART(yyyy,'2021-12-01
阅读全文
摘要:如果目标表存在: insert into 目标表 select * from 原表; 如果目标表不存在: select * into 目标表 from 原表;
阅读全文
摘要:方法一:三重循环 先取前20页,然后倒序,取倒序后前10条记录,这样就能得到分页所需要的数据,不过顺序反了,之后可以将再倒序回来,也可以不再排序了,直接交给前端排序。 -- 分页查询(通用型) select * from (select top pageSize * from (select top
阅读全文
摘要:方法一: declare @week varchar(10) --1.获取星期几参数一 --set @week=@@DATEFIRST --2.获取星期参数二 set @week=DATEPART(weekday,GETDATE()) select case @week when 1 then '星
阅读全文
摘要:定义和用法 DATEADD() 函数在日期中添加或减去指定的时间间隔。 语法 DATEADD(datepart,number,date) date 参数是合法的日期表达式。number 是您希望添加的间隔数,对于未来的时间,此数是正数,对于过去的时间,此数是负数。 datepart 参数可以是下列的
阅读全文
摘要:SELECT datediff(yy,'2010-06-1 10:10',GETDATE()) --计算多少年 SELECT datediff(q,'2011-01-1 10:10',GETDATE()) --计算多少季度 3个月一个季度 SELECT datediff(mm,'2011-06-1
阅读全文

浙公网安备 33010602011771号