标签归档:case when end用法举例

mssql sqlserver 使用sql脚本将数据表中的数值转换为相应汉字的方法分享


摘要:
下文讲述使用sql脚本将数据表中查询出的数值转换为汉字的方法分享
实验环境:sql server 2008 R2


实现思路:
利用case多条件的转换,将指定数值转换为对应的中文字

例:
我们常见的性别存储方法,我们常常会将性别按照1(男),0(女)的方式存储在数据库中,那么在sql脚本的编写中,我们就可以使用case when 对其进行转换,得到我们想要的结果,如下所示:

  
create table [maomao365.com]
(keyId int identity(1,1),
 xingBie int
)
go
insert into [maomao365.com]
(xingBie)values(1),(0),(1),(1),
(0);
go

select keyId,
  case xingBie 
     when 1 then N'男性'
	 when 0 then N'女性'
	 else ''
  end as XingBieFlag
from [maomao365.com]
go



truncate table [maomao365.com]
drop     table [maomao365.com]
go
  

mssql_sqlserver_数值转换为汉字

mssql_sqlserver_数值转换为汉字


相关阅读:
sql case when 的三种用法分享

mssql sqlserver如何使用sql脚本将“空字符串” 转换为”其它”值的方法


摘要:
下文讲述使用sql脚本将sqlserver数据表中的”空字符串”转换为其它值的方法,如下所示:
实验环境:sql server 2008 R2


项目背景:
在一些sql数据展示脚本的开发中,我们需要将”空字符串”转换为”其它”两个中文字进行显示。
下文将通过举例的方式讲述具体的实现方法,如下所示:

create table [maomao365.com]
(keyId int identity,
 info  nvarchar(30)  not null 
 )
 go

---插入特殊字符,前面加入N,使其转换为unicode
insert into [maomao365.com](info)
values (N''),
(N'猫猫小屋'),(N'sql blog')
go
 
--使用case when对空值进行判断处理
select 
 keyId,
 case  
    when info = N'' then '其它'
	else info 
 end as info 
  from [maomao365.com]
go
truncate table [maomao365.com]
drop     table [maomao365.com]

相关阅读:
case when then用法说明
使用”case when then end” 判断字段是否为null的方法

mssql sqlserver 查询(select)语句中使用if….else…判断语句的方法分享


摘要:
下文分享在sql脚本查询中使用if …else…判断语句的方法分享,如下所示:
实验环境:sql server 2008 R2


在平常的sql脚本编写中,我们常常将if else判断应用于存储过程、触发器、函数中,今天同事咨询我,在select查询中,如何应用if else ,左思右想终于得到想到了一个变相的实现方法。
采用case when关键字,实现类似if else的功能

case when '条件1' then '相应值1'  when '条件2' then '相应值2'   when '条件3' then '相应值3'   else '其它值' end

例:

查询数据表:maomao365.com
当列qty 大于1时,显示qty ,
当列qty等于0时,显示无数量
当列qty小于-1时,显示数量错误
其它一律显示 异常

    create table [maomao365.com] 
    (keyId int identity(1,1),
     info    varchar(30),
     qty int not null )
    go
    ---生成基础数据
    insert into [maomao365.com](info, qty)values('A',1),
    ('B',2),('C',-1),('D',0),('E',100),('F',-11),('G',0)
    go
     ---变相在select中应用 if else关键字
   select keyId,info,
      case 
        when qty >1  then convert(nvarchar(100),qty)     
        when qty =0  then N'无数量'
        when qty <-1 then N'数量错误'
        else     N'异常'
      end as qty 
    from [maomao365.com]
   go
   truncate table  [maomao365.com] 
   drop      table  [maomao365.com]