谈谈数据库中的日期、时间、日期时间、时间戳
最近翻看以前的笔记,发现对于数据库日期时间和时间戳还不是太明白。下面从网上搜了下,整理到下面**
Date 包含年月日如:2008-03-21 ,Time时间:19::00:00
在数据库中存储插入数据时的时间,比如有一条评论,我想在把评论内容存入数据库的时候把存储评论时的时间也存到数据库中。当然这个过程是自动完成的,即不需要我在业务逻辑代码中还得初始化一个Date对象然后再把这个Date对象转换为某种格式存到数据库中。
Oracle提供了时间戳数据类型Timestamp来支持这个操作。当一个字段定义成Timestamp类型时,通过在insert语句中指定value为Sysdate就可以将执行insert语句时的时间存入数据库中。例如:
然后执行查询:
Select commenttime From webcomments;
结果显示commenttime 列的值是这种样子的:18-4月 -10 03.31.06.000000 下午
这和我们的预想不太相符。我们想查询出来的时间应该是这个样子的:2010-04-18 13:10:57
这要是用to_char函数,利用它我们可以把一个日期数据转换为任何我们想要的格式。例如这样写select语句:
得到的结果是2010-04-18 15:31:06
要了解的一点是:如果单单是想存储时间的话,Oracle还提供了一种日期类型Date,使用它也可以存储插入数据时的时间,只要插入数据时也赋值为 Sysdate就可以。并且在查询时也一样可以使用to_char函数得到想要的格式。那问题就是:为什么我们要使用Timestamp类型呢?
date和Timestamp都是对日期和时间的表示,只是两种类型的精确度不同,前者精确到秒,后者精确到小数秒Timestamp数据的格式化显示和 Date数据一样。注意,to_char函数支持Date和Timestamp,但是trunc却不支持Timestamp数据类型。这已经清楚表明了在当两个时间的差别极度重要的情况下,使用Timestamp数据类型要比Date数据类型更确切。
并且:两个Date类型相减的结果是以“天”为单位的,而两个Timestamp类型相减的结果是直观的显示为“多少天+多少小时+多少分钟+多少秒+多少小数秒”。例如:
查询结果显示(多少天 多少小时 多少分钟 多少秒 多少小数秒 ):000000001 01:30:10.100000
最后,Date转换为Timestamp要使用CAST函数,例如:
Oracle、Db2、SqlServer、MySQL 数据库插入当前系统时间
例如有表table,table 中有两个字段:name 、makedate
1.oracle:
插入系统时间应为sysdate:
insert into table (name,makedate) values('测试',sysdate);
2.Db2:
插入系统时间应为current timestamp并且makedate数据类型为timestamp
insert into table (name,makedate) values('测试',current timestamp);
3.SqlServer:
插入系统时间应为GETDATE()
insert into table (name,makedate) values('测试',GETDATE());
4.MySQL:
插入系统时间应:
now():以'yyyy-mm-dd hh:mm:ss'返回当前的日期时间,可以直接存到datetime字段中。
curdate():’yyyy-mm-dd’的格式返回今天的日期,可以直接存到date字段中。
insert into table (name,makedate) values('测试',now());
转载列表:
转载是分享博文的一种常用方式...
昵 称:
谈谈数据库中的日期、时间、日期时间、时间戳相关推荐
- js获取mysql数据库数据类型_怎么利用JS将从数据库中读取出来的日期型格式化为想要的类型...
在页面初始化时,用JavaScript将从数据库中读取出来的日期型格式化为想要的类型.格式化为yyyy年MM月dd日 HH时mm分ss秒,大家可以参考下代码,自由发挥下. 代码如下://传入从数据库中 ...
- 在数据库中如何查询表的创建时间?
摘要:在项目交付中,经常有人会问"如何在数据库中查询表的创建时间?" ,那么究竟如何在GaussDB(DWS)中查找对象的创建时间呢?本文提供3种方法作为参考,包括dba_obje ...
- mysql 保存时间报错_JPA在MySQL数据库中保存错误的日期
我的MySQL数据库中有一个表,其中有一个日期列: +-------------------+---------------+------+-----+---------+-------------- ...
- 数据库中包含开始时间、结束时间,并且查询条件也有开始时间、结束时间的查询方法...
分类: oracle学习 数据库 例:考试表中有两个字段:startDate.endDate,分别代表考试开始时间.结束时间.现在需要查询某一时间段内正在进行的考试,实际只要满足考试的时间段和查询条件 ...
- 谈谈数据库中MyISAM与InnoDB区别
MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与 ...
- java把date改成时间戳_spring处理数据库中Date类型字段转换成时间戳问题
有两种方式可以解决日期转换Json问题: 1.(不推荐)局部修改,自定义注解进行将日期类型转换为Date类型. 2.(强烈推荐)全局修改,用MappingJackson2HttpMessageConv ...
- 请用两种java方式显示今天的日期_日期时间显示格式的两种设置方法
在国内行业的各类报表中日期和时间可以算是最长见的一个数据单位了,几乎所有的报表都可以和时间拉上关系,而且报表浏览者也大都要求报表中有时间日期,这样才能让报表信息更清晰明了.但是时间和日期在数据库中的存 ...
- mysql将时间戳转换成日期_mysql 中查询时如何将时间戳转换为日期格式 / 日期格式转换为时间戳...
在数据库的使用中,经常需要按指定日期来查询记录,以便于统计,而在数据库中,有很多存储的是时间戳, 也有的直接存日期,查询的时候可能不是那么好弄. mysql提供了两个函数: from_unixtime ...
- 使用Python读取Mysql数据库中股票信息并生成6日涨幅趋势图,绘制出规范的Excal表格
一.数据库导入股票数据 爬虫或其他工具获取数据,并转换为Excel表,然后导入数据库中. 我的如下: 二.创建函数,编写存储过程 1.mysql存储过程 CREATE DEFINER=`root`@` ...
最新文章
- 【网络安全】一些webshell免杀的技巧
- 【C# interface接口】对接口的理解、接口的使用方式(最通俗的解释)
- 前端学习(2975):路由传参的两种方式
- 专家论道,把脉数据库技术发展新方向
- C++socket编程(三):3.6 服务端recv客户端发送的数据
- 新鲜出炉的头条面试算法
- oracle查看定时任务
- Python Pycharm 对代码进行TODO标记注释
- 转换为ico格式图片
- 微信小程序开发|起步-工欲善其事必先利其器
- 生物特征识别性能的不同衡量标准以及python源代码
- 无扩展,不 Chrome
- ASP.NET正则实现表情替换为图片,如[hanx]替换为img src=img/hanx.gif/
- Gronwall 不等式
- 高德地图车机版增加地标性品牌图标 让你“约会”无压力
- 西门子plc梯形图转换c语言,西门子PLC语言SCL结构文本如何转换成LAD梯形图-工业支持中心-西门子中国...
- java声明是否是质数,java判断是否为素数(质数)的方法
- Win10激活Office2013的技巧
- 【node学习】node.js
- 如何成为一个全栈数字化设计师
热门文章
- 零基础小白入门Python,值得看的几本书籍
- 数学之美11--拼音输入法的数学原理
- python的乌龟画画的扩展运用
- Launcher启动流程及初始化
- 【C基础】(1ul<<5)|(1ul<<4)|(1ul<<2)
- will not be exported or published. Runtime ClassNotFoundExceptions may result.
- 《Android Studio开发实战》学习(一)- Hello World
- linux环境安全配置,Linux系统安全配置方案
- Ubuntu下PDF文件转JPG图片
- python repair修复功能在哪_linux下repair filesystem模式修复方法