随笔分类 -  sql server T-SQL

摘要:转自、参考:https://bbs.csdn.net/topics/398862474 【1】需求 【2】解决 (2.1)思路 思路,详细代码见下面(2.2) (1)(即递归CTE,t1表)根据表中最小时间、和最大时间,构造出这段时间所有的上下班时间点行,包含最小时间前一天 和 最大时间后一天; ( 阅读全文
posted @ 2022-04-20 12:03 郭大侠1 阅读(179) 评论(0) 推荐(0) 编辑
摘要:需求,有个入职日期,以年月日形式显示该员工已经入职多久 select case when datediff(year,date,getdate()) > 0 -- 如果当前年份大于入职年份 then case when datepart(month,getdate()) - datepart(mon 阅读全文
posted @ 2021-06-07 10:58 郭大侠1 阅读(445) 评论(0) 推荐(0) 编辑
摘要:【1】需求 如何统计分类数量? 有些分类要合并统计, 例如: 统计亚洲和欧洲有多少国家,剩下的国家统计到"火星" 要求结果是这样的: 【2】在sql group by 中使用 case when 【2.1】常规正向写法 该部分有误,请忽略 ;WITH t1 AS ( SELECT 'Asia' Ar 阅读全文
posted @ 2020-08-07 09:45 郭大侠1 阅读(5635) 评论(2) 推荐(0) 编辑
摘要:Sql server output 功能介绍 基本概念 【1.0】output的优劣 优势:可以在进行DML 增删改时输出/查看/保存操作前后的数据 劣势:如果要输出,在数据量大的情况下,会占用内存资源,影响一点性能 OUTPUT 子句对于在 INSERT操作之后检索标识列或计算列的值可能非常有用。 阅读全文
posted @ 2020-06-19 15:50 郭大侠1 阅读(2018) 评论(0) 推荐(0) 编辑
摘要:蠢蠢的我=》 大佬代码=》 我哭晕在厕所... 阅读全文
posted @ 2020-05-25 15:44 郭大侠1 阅读(454) 评论(0) 推荐(0) 编辑
摘要:核心思想在于下面几个模式的组合使用: %[0-9]% : 所有数字 %[A-Za-z]%:所有字母 %[吖-咗]%:所有汉字 1. 去除汉字(字母、数字): 举出一例,其他类似: CREATE FUNCTION f_RemoveChinese ( @str VARCHAR(500) ) RETURN 阅读全文
posted @ 2020-04-26 14:29 郭大侠1 阅读(6770) 评论(0) 推荐(1) 编辑
摘要:举例: 我现在是需要查询这字段里包含1的数据 我如果直接charindex,那么11,12也会被包含。 解决(1): 解决(2): 利用如mysql中的find_in_set办法 自己写一个自定义函数split,利用outer apply,这个比较简单,这里不做赘述。 split 函数 可以参考:h 阅读全文
posted @ 2019-08-22 15:46 郭大侠1 阅读(1378) 评论(1) 推荐(1) 编辑
摘要:原代码来自:东莞--小小大神 使用 定义,这里是已经编译好的DLL C#源码 --1、 sql function 1 using System; using System.Data; using System.Data.SqlClient; using System.Data.SqlTypes; u 阅读全文
posted @ 2019-06-24 11:13 郭大侠1 阅读(2417) 评论(0) 推荐(0) 编辑
摘要:select len('aqabbddddcceee') length,(len('aqabbddddcceee')- len(replace('aqabbddddcceee','dd','')))/len('dd') c_exist_count 阅读全文
posted @ 2019-06-12 17:45 郭大侠1 阅读(1074) 评论(0) 推荐(0) 编辑
摘要:使用sp_help 查出 发现有个这个属性, 如何修改呢? SET ANSI_PADDING ONAlter Table Sys_users_History Alter column PveSite varbinary(50) 阅读全文
posted @ 2019-04-30 16:34 郭大侠1 阅读(783) 评论(0) 推荐(0) 编辑
摘要:【1】sql server自定义排序 1. c2列的数据按'4','1','2'的指定顺序排序 (1) 使用union select * from t_orderby where c2='4' union all select * from t_orderby where c2='1' union 阅读全文
posted @ 2019-04-23 11:59 郭大侠1 阅读(2219) 评论(0) 推荐(0) 编辑
摘要:类似于 oracle中decode函数的MSSQL函数 ①用途: 将空值替换成其他值 返回第一个非空值 ②表达式: COALESCE是一个函数, (expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所 阅读全文
posted @ 2019-04-16 17:32 郭大侠1 阅读(258) 评论(0) 推荐(0) 编辑
摘要:关键词:sql server系统存储过程,mssql系统存储过程 xp_cmdshell --*执行DOS各种命令,结果以文本行返回。 xp_fixeddrives --*查询各磁盘/分区可用空间 xp_loginconfig --*报告SQL Server 实例在Windows 上运行时的登录安全 阅读全文
posted @ 2019-04-12 12:28 郭大侠1 阅读(656) 评论(0) 推荐(0) 编辑
摘要:根据日期获取日期所在周的周一日期 推荐使用: 转成年月日 select convert(varchar(10),DATEADD(wk, DATEDIFF(wk,0,dateadd(day,-1,'2019-03-31')), 0),120); select convert(varchar(10),D 阅读全文
posted @ 2019-04-03 19:50 郭大侠1 阅读(442) 评论(0) 推荐(0) 编辑
摘要:如何批量删除SQL注释。。 这个,可能是用来干坏事的吧。不过有时候要做一些重构,也还是有用。嘿嘿 使用工具,notepad++,注意要选择正则表达式按钮才行。 【1】删除 /* */ /\*{1,2}[\s\S]*?\*/ 测试: 原图 效果图 【2】删除 -- 注释 (1)--.* (2)--.+ 阅读全文
posted @ 2019-03-25 09:51 郭大侠1 阅读(1947) 评论(0) 推荐(0) 编辑
摘要:换行/回车,可以使用CHAR函数处理,比如: 1 insert into tbtest (text) values ('abc' + char(13)+char(10) + 'def') insert into tbtest (text) values ('abc' + char(13)+char( 阅读全文
posted @ 2019-03-14 16:59 郭大侠1 阅读(7032) 评论(0) 推荐(0) 编辑
摘要:关键字:求连续出现5次以上的值,并且取第5次所在id 关键字:求在某列连续出现N次值的的数据,并且取第M次出现所在行 需求,求连续出现5次以上的值,并且取第5次所在id SQL SERVER: mysql select * from (select *, (select count(1) from 阅读全文
posted @ 2019-02-25 11:30 郭大侠1 阅读(553) 评论(1) 推荐(0) 编辑
摘要:代码问题与答案均来自sql server数据库技术群 问题来自 群内time,答案来自群内上海-小刀 需求 测试代码 2012之前解法 2012之后解法 常规写法: 阅读全文
posted @ 2019-02-18 10:40 郭大侠1 阅读(482) 评论(0) 推荐(0) 编辑
摘要:行列转换之——多行转多列,多列转多行实践版 参考:深入行列转换 多行转多列,多行的计算 参考:sql server动态行列转换 1、多列转行(核心思想,利用row_number() over() 来构造列传行之后的唯一列,来行转列) 要求: 实操演示: select 'a' as 'a','b' a 阅读全文
posted @ 2019-01-18 17:47 郭大侠1 阅读(4281) 评论(0) 推荐(0) 编辑
摘要:原文链接:https://www.cnblogs.com/gaizai/p/3753296.html sql server动态行列转换 一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静 阅读全文
posted @ 2019-01-08 11:07 郭大侠1 阅读(2596) 评论(0) 推荐(0) 编辑