日度归档:2018年7月27日

mssql sqlserver 对表数据重新编号-生成新序列号的方法分享


摘要:
下文将分享两种对表记录-按照指定字段排序生成新编号的方法,如下所示:
实验环境:sqlserver 2008 R2


 --方法1:使用row_number开窗函数生成新编号
    select ROW_NUMBER() OVER (ORDER BY a.[排序字段] ASC) AS [新编号],a.* from [表名]  a
--方法2:使用rank开窗函数生成新编号
    select RANK() OVER (ORDER BY a.[排序字段] ASC) AS [新编号],a.* from [表名]  a
 

mssql sqlserver isnull coalesce函数用法区别说明


摘要:
下文讲述isnull及coalesce空值替换函数的区别

isnull、coalesce函数区别:
1.isnull 只能接受两个参数,而coalesce函数可以接受大于等于两个以上参数
2.isnull 是一个空值替换函数,coalesce从第一个参数开始查找,只到找到一个为非null并且非空字符的参数返回给用户
3.isnull是一个null值替换函数,coalesce是一个null值及空值查找替换函数
例:

 SELECT COALESCE('',100)    结果100
SELECT COALESCE('    ',88)      结果88
SELECT COALESCE(null,88)       结果88
SELECT COALESCE(88,128)          结果88

SELECT ISNULL('',88)       结果''
SELECT ISNULL(null,88)     结果88
SELECT ISNULL(89,0)        结果89

mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享


摘要:
下文将分享两种将字段中null值替换为指定值的方法分享,如下所示:
实验环境:sqlserver 2008 R2


例:

   create table test(keyId int identity, info varchar(30))
   go
   insert into test(info)values('a'),('b'),(null),('d')
   go 
   ---方法1:使用isnull替换
   select keyId,isnull(info,'替换null值')  as info from test 
   go 
   ---方法2:使用case when 替换
   select keyId,case  when info is null then '替换null值' else info  end as info  from test 
  ---方法3:使用coalesce替换相应的值
    select keyId , coalesce(info,'替换null值') as info from test 
  
   go 
   truncate table test 
   drop table test