mssql sqlserver master数据库spt_values表简介


摘要:
下文讲述spt_values的常用场景


spt_values在mssql中主要保存一些枚举值,此表是从sybase继承过来,通常我们称此表为”常量表”。

  ----表数据展示
  select * from master..spt_values
  ----连续数据展示
  select * from master..spt_values where type='P'

mssql_sqlserver_master_spt_values展示

mssql_sqlserver_master_spt_values展示


mssql_sqlserver_master_spt_values连续数据展示

mssql_sqlserver_master_spt_values连续数据展示


在spt_values表中,我们常使用0~2047个自然数,应用于连续时间的临时生成
例1:
生成2018年的连续月份

 ----从2018-1-1开始截取,只取12个月份
    select 
      left(convert(varchar(10),dateadd(month,number,'2018-01-01'),120),7) as [年月样式]
     from master..spt_values 
     where   
     number <=11 
     and type='p'
 
mssql_sqlserver_master_spt_values连续月份获取

mssql_sqlserver_master_spt_values连续月份获取