月度归档:2018年07月

mssql sqlserver sys.syslanguages系统表使用简介


摘要:
下文讲述sqlserver中sys.syslanguages系统表的用法简介,
syslanguages常用于设置相应数据库语言时,使用
实验环境:sqlserver 2008 R2


  select * from sys.syslanguages 
  /*
   langid:smallint 语言唯一Id
   dateformat:nchar(3) 日期显示格式
   datefirst:tinyint 周起始日 
   upgrade:int 预留字段
   name:sysname 语言预留信息 
   alias:sysname 别名
  months:nvarchar(372) 月份预留样式 
  shortmonths:nvarchar(132) 月份简称
  days:nvarchar(217) 星期信息
  lcid:int 语言在windows区域设置中的Id
  msglangid:int 消息语言Id
 */
mssql_sqlserver_数据库支持语言信息获取

mssql_sqlserver_数据库支持语言信息获取

mssql sqlserver 使用sql脚本获取中文月份信息、星期信息的方法分享


摘要:
下文讲述使用sql脚本获取月份信息、星期信息的方法
实验环境:sqlserver 2008 R2


  ---英文显示
SET LANGUAGE English

SELECT DATENAME(mm, GETDATE()) 'English Month Name'

go
---中文显示
SET LANGUAGE [Simplified Chinese]

SELECT DATENAME(mm, GETDATE()) '中文显示月份',
datename(weekday,getdate()) as [星期]

go

mssql sqlserver case when then end用法详解及说明


摘要:
下文通过详解的方式分析case when 的用法
涉及统计、分类、排序



一、case when then 用法简介

case when then 用法1:

      case [字段]
	     when '字段等于相应的value' then 表达式
		 when '字段等于相应的value' then 表达式
		 else ''
	  end 
   

———————————————————-
case when then 用法2:

      case 
	     when [条件] then 表达式
		 when [条件] then 表达式
		 else ''
	  end 
   


二、case when then 用法举例说明

 ---下文举例分析了case when常用的用法,如下所示:涉及排序字段的应用
 create table test
(
 qty int ,
 sort varchar(20)
)
insert into test(qty,sort)values
(1,'a'),(2,'b'),(3,'d'),(1,'e')
go
----方法1:
select sort,qty,
  case qty
    when 1 then '少'
    when 2 then '中'
    when 3 then '多'
    else '未知'
  end as [数量范围]
  from test 
--方法2:
select sort,qty,
  case 
    when qty=1 then '少'
    when qty=2 then '中'
    when qty=3 then '多'
    else '未知'
  end as [数量范围]
  from test 

---sum统计用法
select 
 sum( case      when qty=1 then 1 else 0 end) as [少],
 sum( case qty  when  2 then 1 else 0 end) as [中],
 sum( case      when qty=3 then 1 else 0 end) as [多],
 sum( case      when qty<> 1 and qty <>2 and qty <>3 then 1 else 0 end) as [位置]
    from test 
  
 
 ---case when 做排序字段
 declare @i int 
 set @i=0
 select * from test 
 order by 
 case @i when 0 then qty else sort    end 
   
 

go
truncate table test
drop     table test