oracle数据库实现获取时间戳的无参函数

代码如下所示:

CREATE OR REPLACE FUNCTION GETMSTIMESTAMP
 RETURN NUMBER
 AS
 MSTIMESTAMP NUMBER;
 BEGIN
 SELECT (SYSDATE-TO_DATE('1970-1-18', 'YYYY-MM-DD HH24')) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF')) INTO MSTIMESTAMP FROM DUAL;
 RETURN MSTIMESTAMP;
 END;

之后再mapper文件或者pl/sql等工具中用select GETMSTIMESTAMP()  as timestamp from dual;即可使用

获得秒级时间戳:

SELECT (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400 FROM DUAL;
(SYSDATE-TO_DATE('1970-1-1 8','YYYY-MM-DDHH24'))*86400
-----------------------------------------------------
1167040878

用当前的时间减去1970年1月1日8时,得到的天数乘以24小时乘以3600秒,得到的结果就是系统时间戳。这里用8时的原因时系统所处时区为东8区。

毫秒级时间戳:

SELECT (SYSDATE - TO_DATE('1970-1-1 8', 'YYYY-MM-DD HH24')) * 86400000 + TO_NUMBER(TO_CHAR(SYSTIMESTAMP(3), 'FF')) AS MILLIONS FROM DUAL;

总结

以上所述是小编给大家介绍的oracle数据库实现获取时间戳的无参函数,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • oracle常用分析函数与聚合函数的用法

    今天是2019年第一天,在此祝大家新年快乐,梦想还在路上,让我们继续加油! 应之前的计划,今天完成这篇记录,也借此记录自己的成长. 一.几个排名函数的语法和用法: rank ( )  over ([partition by col]  order by col ) dense_rank ( )  over ([partition by col] order  by col ) rownumber ( )  over ( [partition by col] order by col ) rank

  • Oracle中的translate函数和replace函数的用法详解

    translate函数语法: translate(expr, from_strimg, to_string) 简介: translate返回expr,其中from_string中的每个字符的所有出现都被to_string中的相应字符替换.expr中不在from_string中的字符不会被替换.如果expr是一个字符串,那么你必须把它放在单引号中. from_string的参数可以包含比to_string更多的字符.在这种情况下,from_string末尾的多余字符在to_string中没有对应的

  • Oracle 中Contains 函数的用法

    1. 查询住址在北京的学生 SELECT student_id,student_name FROM students WHERE CONTAINS( address, 'beijing' ) remark: beijing是一个单词,要用单引号括起来. 2. 查询住址在河北省的学生 SELECT student_id,student_nameFROM students WHERE CONTAINS( address, '"HEIBEI province"' ) remark: HEBE

  • oracle中的一些常用函数及示例

    前言 学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函数及示例,一是为了和大家分享,二是可以在以后工作中忘记了随时查阅.废话不多说,下面直接上函数. 一.单行函数 只处理单个行,并且为每行返回一个结果. 1.字符函数 (1)concat(str1,str2)字符串拼接函数 select concat('Hello ','World') from

  • oracle求字符串长度函数length()和hengthb()简介

    lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 对于单字节字符,LENGTHB和LENGTH是一样的. 如可以用length('string')=lengthb('string')判断字符串是否含有中文. 注: 一个汉字在Oracle数据库里占多少字节跟数据库的字符集有关,UTF8时,长度为三. select lengthb('飘') from dual   可查

  • Oracle 中 decode 函数用法

    含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ELSE RETURN(缺省值) END IF decode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3  当然值1

  • Oracle常用函数Trunc及Trunc函数用法讲解

    1. Trunc( date) trunc 以指定的元素截取日期类型的数据 语法:trunc(date,[ format]) date– 日期格式的值 format–日期格式 如'mm','yyyy'等 将date从指定日期格式截取 例如: trunc(sysdate,'yyyy')='01-01月-17'(sysdate='21-11月-17'); --返回今年的第一天 trunc(sysdate,'mm')='01-11月-17'; --返回本月第一天 trunc(sysdate,'d')=

  • Oracle计算时间差常用函数

    两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒,毫秒): 天: ROUND(TO_NUMBER(END_DATE - START_DATE)) 小时: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24) 分钟: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60) 秒: ROUND(TO_NUMBER(END_DATE - START_DATE) *

  • oracle中的greatest 函数和 least函数示例代码

    greatest (max(one),max(two),max(three)) 求多列的最大值,oracle中的greatest 函数 已知表TB的数据如下 SQL> select * from tb; ID CHINESE MATH ENGLISH ---------- ---------- ---------- ---------- 1001 89 98 87 1002 81 87 79 现在要得到如下的结果,该怎么来解决 ID CHINESE MATH ENGLISH MAX MIN --

  • oracle中decode函数的使用方法示例

    decode的几种用法 1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 THEN RETURN(value 1) ELSIF 条件=值2 THEN RETURN(value 2) ...... ELSIF 条件=值n THEN RETURN(value 3) ELSE RETURN(default) END IF sql测试 select empno,decode(empn

随机推荐