SQL Sever 学习系列之三

SQL Server 学习系列之一(薪酬方案+基础)

SQL Server 学习系列之二(日期格式问题)

        五、经理今天刚谈到with的用法(with的类似用法在delphi中有所体现),在资料文档看到了这一段如下主要体现一个关键字pivot(这是首次在武汉三佳医疗有限公司面试开发岗时遇到的,虽过去一段时间还是记忆犹新),摘抄于此,备查:
 use master
--九九乘法表
with cte1 as
(
select top 9 ROW_NUMBER()over(order by getdate())as RN from sysobjects
)
,cte2 as
(
select A.RN,B.Va,ROW_NUMBER()over(PARTITION by RN order by getdate())as RC
from
(select * from cte1)as A
outer apply(select case when A.RN<=RN
then
(ltrim(A.RN)+'X'+ltrim(RN)+'='+LTRIM(A.RN*RN))
else '' end as Va
from cte1 ) as B
)
select * from cte2 a
pivot
(
max(Va)
for RN in([],[],[],[],[],[],[],[],[])
)as B

结果如图:

六、以下程序:1)比较select和print的区别;

                  2)看出用isnull的好处(确切地说保证计算的正确性——将“未赋值”(不是指赋空值)转换为相应的值)(类似还有一个关键字coalesce)
 declare
@a int,
@w decimal(2,1),
@m decimal(2,1),
@q char(3)
set @a=null
set @w=3.12
set @q=null
set @m=3.15
print @m --3.2
select @m --3.2
select @a,@w,@q --null 3.1 null
print @a --无
select @a+@w --null
select ISNULL(@a,0)+ISNULL(@w,0) --3.1
print @a+@w --null
print ISNULL(@a,0)+ISNULL(@w,0) --3.1

结果如图:

七、领悟count(*)和count(字段)的含义,null和‘’还是很有区别的。

 select COUNT(*) from mchk where psfx not like ''                            --
select COUNT(*) from mchk --12182 -----三数相差637(psfx为null)
select COUNT(*) from mchk where psfx is null --
select COUNT(*) from mchk where psfx is not null --
select COUNT(*) from mchk -- select COUNT(psfx) from mchk where psfx like '' --
select COUNT(psfx) from mchk where psfx not like '' --
select COUNT(psfx) from mchk -- select COUNT(psfx) from mchk where psfx is null --
select COUNT(psfx) from mchk where psfx is not null --
select COUNT(psfx) from mchk --

上述说明psfx没有赋任何值的有637(12182-11545)条记录。这个结果验证可以用isnull()或者coalesce()函数。(截图略)

八、sql语句查看一个数据库的位置或者查看有多少实例?

 --sql语句查看一个数据库的位置
select name,filename,crdate,cmptlevel,version
from master.dbo.sysdatabases

结果如图:

SQL Sever 学习系列之三的更多相关文章

  1. SQL Sever 学习系列之二

    SQL Sever 学习系列之二 SQL Server 学习系列之一(薪酬方案+基础) 四.有关时间输出问题      select GETDATE() 日期时间    ----显示为:2013-07 ...

  2. SQL Sever 学习系列之一

    SQL Sever 学习系列之一 本学习系列,从实际工作需要中积累,对于一个新手而言,写出几条漂亮的查询语句,应该是可以受启发的. 一.问题的需求是:员工薪酬发放,现有资金能发放多少人,哪些人应得? ...

  3. SQL Server 学习系列之六

    SQL Server 学习系列之六 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...

  4. SQL Server 学习系列之五

    SQL Server 学习系列之五 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...

  5. SQL Server 学习系列之四(SQL 内幕)

    SQL Server 学习系列之四(SQL 内幕) SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL ...

  6. Sql Server来龙去脉系列之三 查询过程跟踪

    我们在读写数据库文件时,当文件被读.写或者出现错误时,这些过程活动都会触发一些运行时事件.从一个用户角度来看,有些时候会关注这些事件,特别是我们调试.审核.服务维护.例如,当数据库错误出现.列数据被更 ...

  7. CAN总线学习系列之三——CAN控制器的选择

    CAN总线学习系列之三——CAN控制器的选择 在进行CAN总线开发前,首先要选择好CAN总线控制器.下面就比较一些控制器的特点. 一些主要的CAN总线器件产品 制造商 产品型号 器件功能及特点 Int ...

  8. 【SQL Server 学习系列】-- sql 随机生成中文名字

    原文:[SQL Server 学习系列]-- sql 随机生成中文名字 ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),( ...

  9. 大数据学习系列之三 ----- HBase Java Api 图文详解

    版权声明: 作者:虚无境 博客园出处:http://www.cnblogs.com/xuwujing CSDN出处:http://blog.csdn.net/qazwsxpcm 个人博客出处:http ...

随机推荐

  1. CSS3中新颖的布局方法

    本人已经很久没用 bootstrap 什么的了,而现阶段一点卑微的梦想就是自己做框架,毕竟也才入门不久. 所以在寻找布局的共通性/稳定性及拓展性时,会发觉 CSS3 的这三种方法比栅栏布局要有趣得多. ...

  2. Qt移植对USB鼠标键盘、触摸屏的支持

    .USB键盘 经过一番搜索,发现对Qt键盘的支持主要关系到两个方面: 1. 键盘类型确定: 4.7以前的Qt版本,如果是PS2圆孔键盘,Qt编译时需加上选项:-qt-kbd-vr41xx(未测试):如 ...

  3. 基于SSM的单点登陆02

    pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http: ...

  4. 20145231《Java程序设计》第三次实验报告

    实验三 敏捷开发与XP实现 实验内容 XP基础 XP核心实践 相关工具 实验要求 了解敏捷开发的基本方法以及XP软件开发的相关准则:了解代码编写的标准和原则:体会结对编程的好处: 实践体会版本控制的方 ...

  5. Qt开发UDP

    一.单播 1.声明udp对象 QUdpSocket* udpClient: 2.new出对象 udpClient = new QUdpSocket(this); 3.分配本地地址(如果不分配,使用系统 ...

  6. Vue.js学习笔记 第八篇 组件

    全局注册组件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <ti ...

  7. PhotoShopCs5启动 需要使用Adobe Application Manager 启动试用版

    解决办法:下载Application Manager 7.0 地址:http://download.adobe.com/pub/adobe/creativesuite/cs/win/Applicati ...

  8. java.sql.SQLException: Incorrect string value: '\xF0\x9F\x91\x88\xE6\x88...' for column 'content' at row 1

    往MySQL插入数据时,报错如下 java.sql.SQLException: Incorrect at com.mysql.cj.jdbc.exceptions.SQLError.createSQL ...

  9. HDFS-查看文件属性+文件名称过滤

    package com.zhen.hdfs; import java.io.IOException; import java.io.OutputStream; import java.net.URI; ...

  10. IOS 发布被拒 PLA 1.2问题 整个过程介绍 02 个人账户升级公司账户

    首先,根据上一篇文章得出结论: 1.个人账户,可以发布非营销的APP.例如:公司企业站.个人站 2.公司账户,可以发布营销的APP.例如:京东,天猫,带有盈利的APP 3.企业账户,是使用在公司内部的 ...