首页 > 代码库 > Vertica的date与timestamp数据类型,to_date()与to_timestamp()函数区别
Vertica的date与timestamp数据类型,to_date()与to_timestamp()函数区别
实验环境:3节点,RHEL6.4 + Vertica 7.0.1
实验目的:了解Vertica数据库的date与timestamp数据类型,to_date()与to_timestamp()函数区别
构造的实验表中只有10条记录。
1.查询表记录数据如下:
?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | irnop=> select start_time from perf_rnc_w_3; start_time --------------------- 2014-05-26 01:00:00 2014-05-26 01:00:00 2014-05-26 01:00:00 2014-05-26 01:00:00 2014-05-26 01:00:00 2014-05-26 01:00:00 2014-05-26 01:00:00 2014-05-26 01:00:00 2014-05-26 01:00:00 2014-05-26 01:00:00 (10 rows ) |
2.实验过程:
2.1用to_date()查询5.26号0点~23点间的记录数,结果不是预期的结果,是0条:
?
1 2 3 4 5 6 7 | irnop=> select count (*) from perf_rnc_w_3 where start_time >= to_date( ‘2014-05-26 00:00:00‘ , ‘yyyy-MM-dd hh24:mi:ss‘ ) irnop-> and start_time <to_date( ‘2014-05-26 23:00:00‘ , ‘yyyy-MM-dd hh24:mi:ss‘ ); count ------- 0 (1 row) irnop=> |
2.2用to_timestamp()查询5.26号0点~23点间的记录数,结果正确显示为10条:
?
1 2 3 4 5 6 | irnop=> select count (*) from perf_rnc_w_3 where start_time >= to_timestamp( ‘2014-05-26 00:00:00‘ , ‘yyyy-MM-dd hh24:mi:ss‘ ) irnop-> and start_time <to_timestamp( ‘2014-05-26 23:00:00‘ , ‘yyyy-MM-dd hh24:mi:ss‘ ); count ------- 10 (1 row) |
2.3用to_timestamp()查询5.26号2点及以后的记录数,实际是没有符合条件数据的,结果正确显示为0条:
?
1 2 3 4 5 | irnop=> select count (*) from perf_rnc_w_3 where start_time >= to_timestamp( ‘2014-05-26 02:00:00‘ , ‘yyyy-MM-dd hh24:mi:ss‘ ); count ------- 0 (1 row) |
2.4用to_date()查询5.26号2点及以后的记录数,实际是没有符合条件数据的,但结果此时却是10条:
?
1 2 3 4 5 | irnop=> select count (*) from perf_rnc_w_3 where start_time >= to_date( ‘2014-05-26 02:00:00‘ , ‘yyyy-MM-dd hh24:mi:ss‘ ); count ------- 10 (1 row) |
3.总结:
vertica时间类型为date的不精确到小时\分\秒,
如果需要,定义的时间数据类型必须为timestamp。同样,查询,vertica的to_date()函数不精确到小时\分\秒,
如果需要,需要用to_timestamp()函数。
4.延伸:
oracle数据库的date包括精确到时分秒,所以在oracle—>vertica迁移场景中,建议将oracle的date数据类型修改为vertica的timestamp。
网络搜索到vertica date和timestamp的数据类型介绍:
DATE 8 Represents a month, day, and year TIMESTAMP 8 Represents a date and time without timezone
更多vertica数据类型介绍参见:http://www.quizld.com/2012/11/vertica-datatypes/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。