日期格式转化的问题
0
有个疑问,想了很久。
bi为了方便终端用户使用,包装了很多sql语句,这些sql很难优化啊,比如:时间格式,我们数据库中的时间格式是“时间戳”,必须用数据库中的函数才能转化为正常的日期格式,这个操作如果写在映射层或物理层,必然在数据库中会出现如下格式: where from_unixtime(hiredate)='1999-01-01',这种格式,这样hiredate上的索引将无法使用。 难道让我建立函数索引???
如果不是在bi,这问题很好解决,where hiredate=unix_timestamp('1999-01-01'),就可以了,但这在bi 模型上写不出啊!!
怎么办呢???
bi为了方便终端用户使用,包装了很多sql语句,这些sql很难优化啊,比如:时间格式,我们数据库中的时间格式是“时间戳”,必须用数据库中的函数才能转化为正常的日期格式,这个操作如果写在映射层或物理层,必然在数据库中会出现如下格式: where from_unixtime(hiredate)='1999-01-01',这种格式,这样hiredate上的索引将无法使用。 难道让我建立函数索引???
如果不是在bi,这问题很好解决,where hiredate=unix_timestamp('1999-01-01'),就可以了,但这在bi 模型上写不出啊!!
怎么办呢???
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
4 个回复
匆匆 - 拔剑浴血幕,只为红颜故、BIEE高级工程师 2015-03-27 回答
赞同来自:
zhuqibs 2015-03-27 回答
赞同来自:
zhuqibs 2015-03-27 回答
赞同来自:
我们有一张订单表,表中有个字段是order_create_time,而且还是时间戳,我想把它做成时间维度,
那就需要有年列,月列,日列等等,那是不是我要把这个列用data_format和from_unixtime,把它扩展成为一张有三到四列的表,用这个表来做时间维,我看教程中,数据库中有个时间表,但我的数据库没有,那我是不是要做个视图来代替这个时间表,而这个视图我就打算从order_create_time这个列派生出来
zhuqibs 2015-03-27 回答
赞同来自: