实验环境:3节点,RHEL6.4 + Vertica 7.0.1
实验目的:了解Vertica数据库的date与timestamp数据类型,to_date()与to_timestamp()函数区别
 
构造的实验表中只有10条记录。
1.查询表记录数据如下:
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条:
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条:
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条:
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条:
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.cnblogs.com/jyzhao/articles/3778948.html

Vertica的date与timestamp数据类型,to_date()与to_timestamp()函数区别的更多相关文章

  1. oracle中日期类型 to_date 和to_timestamp什么区别啊?

    1.to_date() 和to_timestamp()区别 由于oracle中date类型只支持到秒,不支持到毫秒,所以to_date()不能取到毫秒.如果要取到毫秒,oracle 9i以上版本,可以 ...

  2. Oracle date 和 timestamp 区别

    1.DATE数据类型 这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型.它可以存储月,年,日,世纪,时,分和秒.它典型地用来表示什么时候事情已经发生或将要发生.    ...

  3. Oracle date和timestamp区别

    <转自> http://blog.csdn.net/huaguoming/article/details/8693679 在今天的工作中,学到了以下几个知识点: 一.date和timest ...

  4. oracle date 和 timestamp区别

    在今天的工作中,学到了以下几个知识点: 一.date和timestamp 的区别 date类型是Oracle常用的日期型变量,他的时间间隔是秒.两个日期型相减得到是两个时间的间隔,注意单位是“天”.例 ...

  5. JDBC和Ibatis中的Date,Time,Timestamp处理

    在此前,遇到过使用Ibatis操作Oracle时时间精度丢失的问题,昨天又遇到JDBC操作MySQL时间字段的问题,从网上看到各种式样的解释这些问题的博文/帖子,但多是雾里看花,不得要领. 理解JDB ...

  6. linux下对date和timestamp的互转

    1. date 到 timestamp: $ date -d '2009-12-01 23:20' +%s 12596808002. timestamp 到 date$ date -d '1970-0 ...

  7. Java:String和Date、Timestamp之间的转

    Java:String和Date.Timestamp之间的转 一.String与Date(java.util.Date)互转 1.1 String -> Date String dateStr  ...

  8. mysql建库DATETIME、DATE 和 TIMESTAMP区别

    http://blog.sina.com.cn/s/blog_5f7b8c2c0100tf6t.html     DATETIME.DATE 和 TIMESTAMP 类型是相似的.本篇描述了它们的特性 ...

  9. 转 数据库中的 date datetime timestamp的区别

    转 数据库中的 date datetime timestamp的区别 DATETIME, DATE和TIMESTAMP类型是相关的.本文描述他们的特征,他们是如何类似的而又不同的. DATETIME类 ...

随机推荐

  1. tab+tab

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 代码编辑器Sublime Text 3 免费使用方法与简体中文汉化包下载

    Sublime Text这款代码编辑器是Jeff 一直都在使用的,前段时间转用到版本3,因为感觉Sublime Text 3 启动速度更加快,运行更加流畅——虽然3 还是在Beta 阶段.下面就直接分 ...

  3. socket.io安装部署

    需要node.js环境 创建package.json npm init 下载相关依赖 npm install --save express@4.10.2npm会在当前目录下载所需要的依赖到node_m ...

  4. CSS选择器中类和ID选择器的区别

    类和ID选择器的区别 学习了类选择器和ID选择器,我们会发现他们之间有很多的相似处,是不是两者可以通用呢?我们不要着急先来总结一下他们的相同点和不同点: 相同点:可以应用于任何元素不同点: 1.ID选 ...

  5. spark 笔记

    官网 http://spark.apache.org/ 安装:http://dblab.xmu.edu.cn/blog/spark-quick-start-guide/ 教程 http://www.c ...

  6. EQueue - 一个纯C#写的分布式消息队列介绍2

    一年前,当我第一次开发完EQueue后,写过一篇文章介绍了其整体架构,做这个框架的背景,以及架构中的所有基本概念.通过那篇文章,大家可以对EQueue有一个基本的了解.经过了1年多的完善,EQueue ...

  7. ASP.Net开发基础温故知新学习笔记

    申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...

  8. Android第一天

    ---恢复内容开始--- 一.配置JDK 第一步:右键我的电脑-属性-高级系统设置-环境变量 输入变量名和变量值: 环境变量名和变量值: 变量名:JAVA_HOME 变量值:D:\Java\jdk1. ...

  9. salesforce 零基础学习(四十三)运算取余

    工作中遇到一个简单的小问题,判断两个数是否整除,如果不整除,获取相关的余数. 习惯java的我毫不犹豫的写下了代码 public Boolean isDivisibility(Integer divi ...

  10. let命令

    基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. 上面代码在代码块之中,分别用let和var声明了两个变量.然后在代码块之外调 ...