Julian Date定义

Julian Date:有效的日期范围是从公元前4713年1月1日到公元9999年12月31日。儒略日(julian date)是自公元前4713年1月1日中午12时起经过的天数。

使用它Julian Date使我们计算两个日期之间有多少天比较方便。

使用to_char(date,'J'),将普通日期转换为Julian Date

SELECT TO_CHAR(SYSDATE,'J') FROM dual;

使用to_date(str,'J'),将天数转换为日期

SELECT TO_DATE('2458117','J') FROM dual;
SELECT TO_DATE(to_char(sysdate,'J'),'J') FROM dual;

计算两个日期差了多少天

-- 计算2017-12-29和'2017-12-01差了多少天
SELECT to_char(to_date('2017-12-29','yyyy-mm-dd'),'J')-to_char(to_date('2017-12-01','yyyy-mm-dd'),'J') from dual

随机生成时间

-- 生成2000-01-01到现在的随机日期,时分秒为00:00:00
SELECT TO_DATE (TRUNC (DBMS_RANDOM.VALUE (TO_NUMBER (TO_CHAR (to_date('2000-01-01','yyyy-mm-dd'),
'J'
)
),
TO_NUMBER (TO_CHAR (SYSDATE, 'J'))
)
),
'J'
)
FROM DUAL;

另外一种方法

-- 生成2000-01-01到现在的随机日期,包括时分秒也是随机的
SELECT to_date('2000-01-01', 'yyyy-mm-dd') +
DBMS_RANDOM.VALUE(1, (to_char(sysdate, 'J') - to_char(to_date('2000-01-01', 'yyyy-mm-dd'), 'J')) * 24 * 60 * 60)
/ 3600 / 24
FROM dual;
-- 或者
SELECT to_date(TRUNC(DBMS_RANDOM.VALUE(
to_number(to_char(to_date('2000-01-01','yyyy-mm-dd'),'J')),
to_number(to_char(sysdate,'J')))),'J')+
DBMS_RANDOM.VALUE(1,86400)/1,86400

oracle随机生成时间的更多相关文章

  1. oracle 生成随机日期+时间

    oracle 生成随机日期+时间 SELECT to_date(TRUNC(DBMS_RANDOM.VALUE(to_number(to_char(to_date('20110101','yyyymm ...

  2. 【转】有关Oracle随机字符串的生成方法及具体应用

    Oracle生成随机字符串的方法是通过dbms_random.string实现的. 1.dbms_random.string用法Oracle官方文档参考链接:http://download.oracl ...

  3. php之上传小案例,根据时间:月日分创建目录并随机生成文件名

    <?php /* 接收文件,并分目录存储,生成随机文件名 1.根据时间戳,并按一定规则创建目录 2.获取文件名的后缀名 3.判断大小 */ //根据月日分计算并创建目录 function mk_ ...

  4. Java定时器Timer,TimerTask每隔一段时间随机生成数字

    1:java.util.Timer类是一种工具,线程用其安排以后在后台线程中执行的任务.可安排任务执行一次,或者定期重复执行. 2:TimerTask类是由 Timer 安排为一次执行或重复执行的任务 ...

  5. Linux下随机生成密码的命令总结

    有时候经常为如何设置一个安全.符合密码复杂度的密码而绞尽脑汁,说实话,这实在是一个体力活而且浪费时间,更重要的是设置密码的时候经常纠结.终于有一天实在忍不住了,于是学习.整理了一下如何使用Linux下 ...

  6. c#部分---网吧充值系统;简易的闹钟;出租车计费;简单计算器;对战游戏;等额本金法计算贷款还款利息等;随机生成10个不重复的50以内的整数;推箱子;

    网吧充值系统namespace ConsoleApplication1 { class Program { struct huiyuan { public string name; public st ...

  7. Oracle按不同时间分组统计

    Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- ...

  8. shell随机生成身份证,姓名,电话,日期,分数,等级和insert语句

    #!/bin/bash#生成随机身份证号,性别,年龄,电话,姓名,日期,分数和对应等级,并生成insert语句#作者AiYS,2018-02-06,转载请注明http://www.cnblogs.co ...

  9. Python:随机生成测试数据的模块--faker的基本使用

    本文内容: faker的介绍 faker的使用 小例子:生成随机的数据表信息 首发日期:2018-06-15 faker介绍: faker是python的一个第三方模块,是一个github上的开源项目 ...

随机推荐

  1. linux 环境下安装 MySQL

    参考: Linux安装MySQL5.7 注意: 安装后 出现 navicat MySQL连接Linux下MySQL的及2003错误  需要看下 虚拟机的防火墙是否关闭!!!

  2. 第四节:Vuejs组件及组件之间的交互

    一. 组件及其交互 1.组件的注册 (1).全局注册 Vue.component('组件名称', { }) 第1个参数是标签名称,第2个参数是一个选项对象. 选项参数包括 data:必须是一个func ...

  3. [ DLPytorch ] 文本分类&图像增强

    图像增强 图像增广(image augmentation)技术通过对训练图像做一系列随机改变,来产生相似但又不同的训练样本,从而扩大训练数据集的规模.图像增广的另一种解释是,随机改变训练样本可以降低模 ...

  4. git合并分支到主干

    1.从当前分支切换主干 git checkout master 2.更新主干内容到本地 git pull 4.提交分支,并将分支merge到主干 git merge dev 5: i键后输入备注  输 ...

  5. PAT T1002 Business

    背包问题,把任务按截止日期排序,再按背包问题处理~ #include<bits/stdc++.h> using namespace std; ; struct node { int c; ...

  6. Struts2报错异常Method "setUser" failed for object com.mikey.action.ConverterAction@dd34285

    在写类型转换的时候发现报错 异常信息 ognl.MethodFailedException: Method "setUser" failed for object com.mike ...

  7. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:联合使用所有表格类

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. Duilib 修改程序exe、在任务栏以及任务管理器上的图标

    参考:https://blog.csdn.net/Rongbo_J/article/details/47379997       https://www.cnblogs.com/happinessda ...

  9. ToString 奇淫技巧

    int和float同样结果 decimal decTemp = 2.1m; Console.WriteLine(decTemp.ToString("#0.00")); //输出2. ...

  10. Linux centosVMware Nginx安装、 默认虚拟主机、Nginx用户认证、Nginx域名重定向

    一. Nginx安装 cd /usr/local/src wget http://nginx.org/download/nginx-1.12.1.tar.gz 版本在http://nginx.org/ ...