我可以: 邀请好友来看>>
ZOL星空(中国) > 技术星空(中国) > SQL Server星空(中国) > 时间维度生成脚本
帖子很冷清,卤煮很失落!求安慰
返回列表
签到
手机签到经验翻倍!
快来扫一扫!

时间维度生成脚本

126浏览 / 1回复

email4u

email4u

0
精华
7
帖子

等  级:Lv.5
经  验:4944
  • Z金豆: 0

    千万礼品等你来兑哦~快点击这里兑换吧~

  • 城  市:北京
  • 注  册:2008-04-01
  • 登  录:2016-05-23
发表于 2011-08-01 18:20:20
电梯直达 确定
楼主
时间维度经常用到,抽时间用 php 写了个脚本。
生成创建时间维度数据的 SQL 语句。

//时间维度
//易铎
//2011-08-01
$x = 0;
for($i = 0; $i <= 23; $i ++) {
for($j = 0; $j <= 59; $j ++) {
if ($i < 12) {
$appm = '上午';
} else {
$appm = '下午';
}
if (($i >= 9 && $i < 12) || ($i >= 13 && $i < 18)) {
$worktime = "是";
} else {
$worktime = "不是";
}
echo sprintf ( "insert into DimTime ([TimeKey] ,[HourKey],[HourText],[worktime],[MinuteKey],[ampm])values(%d,%d,'%d点','%s','%02d:%02d','%s')", $x, $i, $i, $worktime, $i, $j, $appm ) . "rn";
$x ++;
}
}
?>

执行结果:
insert into DimTime ([TimeKey] ,[HourKey],[HourText],[worktime],[MinuteKey],[ampm])values(0,0,'0点','不是','00:00','上午')
insert into DimTime ([TimeKey] ,[HourKey],[HourText],[worktime],[MinuteKey],[ampm])values(1,0,'0点','不是','00:01','上午')
insert into DimTime ([TimeKey] ,[HourKey],[HourText],[worktime],[MinuteKey],[ampm])values(2,0,'0点','不是','00:02','上午')
...
insert into DimTime ([TimeKey] ,[HourKey],[HourText],[worktime],[MinuteKey],[ampm])values(1437,23,'23点','不是','23:57','下午')
insert into DimTime ([TimeKey] ,[HourKey],[HourText],[worktime],[MinuteKey],[ampm])values(1438,23,'23点','不是','23:58','下午')
insert into DimTime ([TimeKey] ,[HourKey],[HourText],[worktime],[MinuteKey],[ampm])values(1439,23,'23点','不是','23:59','下午')

共1440条,粒度为每分钟一条。

时间维度表结构
CREATE TABLE [dbo].[DimTime](
[TimeKey] [smallint] NOT NULL,
[HourKey] [tinyint] NOT NULL,
[MinuteKey] [nchar](5) NOT NULL,
[worktime] [nchar](2) NOT NULL,
[ampm] [nchar](4) NOT NULL,
[HourText] [nchar](3) NOT NULL,
 CONSTRAINT [PK_DimTime] PRIMARY KEY CLUSTERED 
(
[TimeKey] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]


dancef6g

dancef6g


精华

帖子

等  级:Lv.1
经  验:54
发表于 2012-01-30 13:29:10 3楼

您的内容正在火速审核中,请稍等

qdgmr

qdgmr


精华

帖子

等  级:Lv.3
经  验:930
发表于 2012-01-08 14:56:10 2楼

您的内容正在火速审核中,请稍等

sxiuli

sxiuli


精华

帖子

等  级:Lv.1
经  验:0
发表于 2011-10-25 16:44:56 1楼
简单
高级模式
星空(中国)精选大家都在看24小时热帖7天热帖大家都在问最新回答

针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员查看帮助  或  给我提意见

快捷回复 APP下载 返回列表