当前位置:  数据库>mysql

在数据库里将毫秒转换成date格式的方法

    来源: 互联网  发布时间:2014-10-14

    本文导语:  在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: ...

在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。

一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下:
代码如下:

mysql> select from_unixtime(1, '%Y-%m-%d %H:%i:%S');
+---------------------------------------+
| from_unixtime(1, '%Y-%m-%d %H:%i:%S') |
+---------------------------------------+
| 1970-01-01 08:00:01 |
+---------------------------------------+
1 row in set (0.00 sec)

函数from_unixtime中的参数单位是秒,由于我们在+08:00时区,所有最终显示的结果是1970-01-01 08:00:01。

二、在Oracle中,由于没有相应的内置函数,我们只能自定义一个函数来完成转换。
代码如下:

SQL> create or replace function long2date (param in long) return varchar2 as
v_text varchar2(64);
2 begin
3 select to_char(to_date('1970-01-01', 'YYYY-MM-DD')+(param/(24*60*60*1000)+
8/24-1/86400),'YYYY-MM-DD HH24:MI:SS')
4 into v_text from dual;
5 return v_text;
6 end long2date;
7 /

函数已创建。

SQL> select long2date(1000) from dual;

LONG2DATE(1000)
--------------------------------------------------------------------------------------
1970-01-01 08:00:00

SQL> select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') char_sysdate, long2date(
(sysdate - 8/24 - to_date('1970-01-01','YYYY-MM-DD')) * 86400000) long2date from dual;

CHAR_SYSDATE LONG2DATE
------------------- --------------------
2013-01-07 14:53:18 2013-01-07 14:53:17

1、long2date()函数里的参数单位是毫秒。

2、加上8/24,是因为我们在+08:00时区,所以要加上8小时。

3、减去1/86400,是因为可能会受到闰秒的影响,可以根据实际需要进行调整。在本例中没有必要减去1/86400。

4、利用类似的方法,我们可以将日期转换成long型的毫秒数。
代码如下:

SQL> col current_milli format 999999999999999;
SQL> select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') current_date, (sysdate -
to_date('1970-01-01', 'YYYY-MM-DD'))* 86400000 current_milli from dual;

CURRENT_DATE CURRENT_MILLI
------------------- ----------------
2013-01-07 15:09:18 1357571358000

    
 
 

您可能感兴趣的文章:

  • SqlServer数据库全角转换成半角
  • 请问,去会字符串型的日期,如何转化成datetime型从而写入数据库?如果不转换,能写入吗?(多谢)?
  • 在jbuilder6下如何存取中文数据库,内码的转换如何实现?高手请进,100分奉上
  • android将图片转换存到数据库再从数据库读取转换成图片实现代码
  • 用java怎样实现oracle数据库表和excel数据表的转换
  • Oracle与FoxPro两数据库的数据转换步骤
  • 将数据库中保存的字符串中的回车换行转换为网页上的环行符(<br>) 急用,谢谢
  • 如何将数据库数据转换成树形结构
  • sqlserver下将数据库记录的列记录转换成行记录的方法
  • 将备份的SQLServer数据库转换为SQLite数据库操作方法
  • MySQL数据库向Oracle转换时注意若干问题
  • 公司要给客户做报表,从数据库返回数据,他们死活要返回的格式为Excel格式,请问我怎样才能把数据库返回的数据存为Excel的格式?
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • 两种不同的数据库格式如何统一?
  • linux下能访问ms vfp 的dbf格式的数据库吗。怎么访问
  • 960分,求mdb数据库格式的英汉,汉英字典,四六级,gre,toefl
  • 向数据库中插入一个时间记录,要求从年精确到秒,什么格式?
  • 请问,在JAVA里,有什么方法可以保存一个图像文件(比如*.jpg格式的)到数据库里去....
  • 如何按我需要的格式显示从数据库中抓出的时间
  • 关于mysql数据库格式化简单介绍
  • JSP如何把文章内容提交进数据库,保持格式不变
  • 如何在页面中写入一篇文章,存入数据库后再读出来能按文章原来的版面格式摆放啊,比如段落或者换行啊
  • mysql数据库修改添加Date格式列的方法
  • applet连接数库时,不同的htm格式导致无法连接数据库?兄弟们帮忙看一下
  • 查看oracle数据库的编码及修改编码格式的方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 删除数据库中重复记录方法介绍及代码参考
  • getParameter是不是将页面提交的数据保存到数据库的唯一方法?谢谢
  • java中的数据库结果集可以被赋值吗,可以通过结果集的方法来更新数据库字段吗?
  • 如何在HOME接口里添加find方法并建立数据库关联,用的是JB
  • mssql无数据库日志文件恢复数据库的方法第1/2页
  • sql数据库多用户模式修改方法
  • sql server 2008中备份集中的数据库备份与现有的xx数据库不同的解决方法
  • MSSQL附加数据库拒绝访问提示5120错误的处理方法
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法
  • 请比较两种向数据库写入Blob对象的方法的优劣?
  • 哥们! 知不知道有什么方法能获取数据库中的表名!
  • 求教,LINUX里用C语言读取微型数据库文件方法
  • Mysql启动与数据库的创建方法[图文]
  • Oracle指定IP访问数据库方法
  • 属性owner不可用于数据库xxx的解决方法
  • sqlserver只有MDF文件恢复数据库的方法
  • sql server2012附加数据库问题解决方法
  • JSP连接数据库时不用DSN可以吗?还有什么方法
  • CSS属性参考手册 iis7站长之家
  • jdbc连接数据库,能否有jdbc中的方法进行安全设置:
  • sqlserver 查询数据库大小的方法
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 如何监控数据库的数据,如果数据库数据更改,就通知Server
  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • 散分:Jbuilder6开发数据库应用请问你们都用什么数据库? 免费的数据库有那些?
  • 文档数据库mongodb与列式数据库hbase详细比较
  • 如何从数据库中或文本文件中提取数据到另一个数据库中?
  • nosql数据库levedb介绍及levedb最新版1.18下载安装
  • 开发java下的数据库程序,用什么数据库引擎?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3