在sql server中一些函数的用法

----------------新换的工作,用的是sql server,函数和其他的操作系统大相径庭,总结一下,方便查看----------------------遇到值得总结的函数会直接更新在此篇博客,很多都是百度后亲自操作总结出来的,如有雷同,不是巧合----

 一、ISNULL函数

     ISNULL(a,b)

        1、a和b的数据类型要一致。a是字段名,b是设定默认的值。

        2、如果a的值不为null,结果返回a。

        3、如果a为null,结果返回b。

 

       例如: 下面是我工作中遇到的语句,语句要求:行业取前五,本年上年的入库数的差(这里的ISNULL做了减法)

SELECT TOP(5) NEWNSRMC,行业,'1' AS CYType,ISNULL(BNTRAAMT,0)-ISNULL(SNTRAAMT,0) AS TRAAMT 
FROM 
(
SELECT    NEWNSRMC,  (SELECT HY_Name FROM  行业取前十 WHERE  ID =@CS) AS 行业 ,SUM( TRAAMT_DS ) AS BNTRAAMT 
FROM      F_SW_Detail_2019
WHERE  RKRQ_Y=YEAR(GETDATE()) AND  RKRQ_M=MONTH(GETDATE()) AND  NEWNSRMC<>'其他未明细纳税人' AND LEFT(HY_Code,3)=(SELECT HY_Code FROM  行业取前十 WHERE  ID =@CS)
GROUP BY  NEWNSRMC
 ) AS A 
LEFT JOIN 
(
SELECT    NEWNSRMC,  (SELECT HY_Name FROM  行业取前十 WHERE  ID =@CS) AS 行业 ,SUM( TRAAMT_DS ) AS SNTRAAMT 
FROM      F_SW_Detail_2018
WHERE  RKRQ_Y=YEAR(GETDATE())-1 AND  RKRQ_M=MONTH(GETDATE()) AND  NEWNSRMC<>'其他未明细纳税人' AND LEFT(HY_Code,3)=(SELECT HY_Code FROM  行业取前十 WHERE  ID =@CS)
GROUP BY  NEWNSRMC
 ) AS B ON A.NEWNSRMC=B.NEWNSRMC
  ORDER   BY  ISNULL(BNTRAAMT,0)-ISNULL(SNTRAAMT,0) 

     

***注意***

在sql server中字段为空的话,不要写成a=null或者a='',应写成a is null,下面是更加直观的例子。

1、当写成a=null时

 

2、当写成 a is null时

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值