
SQL奇研巧技
木生火
起舞弄清影,人间近黄昏;今夕是何年,点亮一盏灯
Email:2156858566@qq.com
展开
-
SQL小知识001:进程堵塞处理方法
操作步骤--01查询堵塞进程select * from sys.sysprocesses where blocked <>0 and DB_NAME(dbid)='GSHCPDB' 说明:GSHCPDB为数据库实例名称,即哪个数据库的进程被堵住了--02,显示从客户端发送到 SQL Server 端的最后一个语句dbcc inputbuffer(74) 说...原创 2018-12-25 09:50:54 · 518 阅读 · 0 评论 -
SQL小知识011:利用Case When Then多条件判断与分类统计
case具有两种格式。简单case函数和case搜索函数。--简单case函数case sex when 'M' then '男' when 'F' then '女’else '其他' end--case搜索函数case when sex = 'M' then '男' when sex = 'F' then '女' else '其他' end ...原创 2019-01-12 22:20:04 · 1869 阅读 · 0 评论 -
SQL小知识010:COALESCE与CASE的组合,实现一个表记录值作为第二个表字段
张三参加三门课,李四参加四门课,成绩如下sname subject score張三 語文 80張三 數學 90張三 物理 85李四 語文 85李四 數學 92李四 物理 82李四 化學 82问题:将上表一的数据变成表二格式,如下sname 语文 数学 物理 ...原创 2019-01-12 21:17:55 · 400 阅读 · 0 评论 -
SQL小知识009:COALESCE()列表中所有项中将返回第一个非空值
例子:有一个Persons数据表,它有三个字段FirstName、MiddleName和LastName。用一个字符串列出他们的全名SELECT FirstName + '' '' +COALESCE(MiddleName,'''')+ '' '' +COALESCE(LastName,'''')需要对多个字段进行非空判断,显示几个字段中不为空(最前边)的那个,字段少的时候CASE W...原创 2019-01-12 16:20:05 · 1312 阅读 · 0 评论 -
SQL小知识008:nullif()判断两列的值是否一致
NULLIF(v1, v2)如果两个 值相等,则返回 NULL,如果两个不相等,则返回第一个 v1v1,v2的类型要一致原创 2019-01-12 15:51:08 · 4280 阅读 · 0 评论 -
SQL小知识007:isnull()函数
语法 ISNULL ( value1,value2 )1、value1与value2的数据类型必须一致。 2、如果value1的值不为null,结果返回value1。3、如果value1为null,结果返回vaule2的值。vaule2是你设定的值。举例查询出其中成绩(score)小于等于60的学生信息保存至表变量@tempTable中,当学生成绩为空时,成绩记为0。...原创 2019-01-12 15:17:44 · 368 阅读 · 0 评论 -
SQL小知识005:FOR XML PATH:XML数据格式(小结)
使用for xml path 返回都是xml格式的数据.SQL查询得出xml格式的数据.并且都是拼接到一个字段中 FOR XML PATH(''),path('')则是将每一行记录包裹到一个节点中.名字就是括号内的文字.如下:https://blog.youkuaiyun.com/msh2016/article/details/86262621 --在发出邮件中将查询结果集形成HTML文件...原创 2019-01-12 12:55:11 · 259 阅读 · 0 评论 -
SQL小知识006:对字符串进行分割,返回Table(表)对象
经常把存储过程(含参数)中取得片接的大字符串(字符串1;字符串2;字符串3;)进行分割再处理~比如,其他系统通过WebService接口调用,传入大串工号片接字符串(K17000205;K17000658;K16002598;K17001422),程式通过以下逻辑进行分割,返回Table对象.函数代码如下-- =======================================...原创 2019-01-07 14:10:03 · 402 阅读 · 0 评论 -
SQL小知识004:FOR XML PATH:分组合并字段,特殊应用场景(排班系统)
应用场景:有一个员工结薪周期内的排班表,列分别为([Guid],[workId],[dutyDate])表结构如下:workId 工号 dutyDate 排班日期 ,如下下图红圈内为一周排班这时,要求查询排班表,按每行显示每个员工在一个结薪周期内的排班结果集举例三个工号,代码如下: use [GSCenter01DB] go--临时表,取出三个人工号在...原创 2019-01-11 16:09:31 · 721 阅读 · 0 评论 -
SQL小知识003:FOR XML PATH:表中的字段的多行内容串联
例如表UserID-------------------------------C10000191K16000003K16000004K16000006K16000008串联之后就是字符串: C10000191,K16000003,K16000004,K16000006,K16000008--先找到前5条数据select top 5 UserID Into #T1 fr...原创 2019-01-10 23:39:26 · 407 阅读 · 0 评论 -
SQL小知识002:FOR XML PATH 在发出邮件中将查询结果集形成HTML文件,
日常我们发送邮件时,在主体中把数据格式以HTML Table样式显示给用户。现在我们来简单介绍FOR XML PATH 用法,查询结果集形成XML文件(HTML格式),如下 相关代码,如下 邮件发生参数 SELECT @SignCount=COUNT(1) FROM dbo.RSN_Absenteeism_Form WHERE CurrentSta...原创 2019-01-10 23:13:23 · 837 阅读 · 0 评论 -
SQL日期处理技巧综合(持续更新~)
一,时间格式 转换成 无空格的字符串比如:2019-03-07 16:33:38 转换成20190307163338select CONVERT(nvarchar(19), GETDATE(), 120 )select REPLACE(CONVERT(nvarchar(19), GETDATE(), 120 ),'-','')select REPLACE(REPLACE(CONV...原创 2019-03-07 16:43:38 · 180 阅读 · 0 评论