Oracle随机函数

Oracle随机函数,第1张

DBMS_RANDOM包提供了内置的随机数生成器。

大多数语言的随机函数生成器都需要提供一个种子,在Oracle中,选取种子的过程叫做初始化,再执行随机函数之前,可以不用显式地执行初始化,Oracle会自动使用日期、用户ID、进程ID来进行初始化。当然,也可以显式地初始化或者叫自定义初始化。

val参数表示种子数字

字符串长度最多可以为2000

RANDOM函数的返回值取值范围是[ -2 31 ,2 31 ],因此如果我们若想得到[-1,1]范围内的伪随机结果:

如果是[0,1],取绝对值即可

若想[m,n] (m<n)这种形式,例如[3,9]

[m,n] (m<n)这种形式的一般表达式为

select abs(dbms_randomrandom/power(2,32))(n-m)+m from dual;

在RANDOM函数的示例中,我们已经讨论了 [0,1] 区间和 [m,n](m<n) 区间上的随机数的生成方法,而VALUE函数即可以生成 [0,1] 上的随机数,又可以生成 [m,n](m<n) 上的随机数,

当没有参数时,返回 [0,1] 上的随机数。

low参数表示最小值,high参数表示最大值,返回 [low,high] 区间内的随机数

opt参数控制字符串的大小写格式,可选值及含义如下:

‘u’或'U':表示大写字母

‘l’或‘L’:表示小写字母

‘a’或‘A’:表示大小写混合

‘x’或‘X’:表示大写字母和数字混合

‘p’或‘P’:表示任意可显示字符

len表示字符串长度

java/oracle日期处理还是很和总要的,我们在学习java语言的时候,对这一部分内容也要做好详细了解。下面,我们就一起来看看java/oracle日期处理中的一些重要内容 public class Test{ public static void main (String args []){ javautilDate a = new javautilDate(); Systemoutprintln(a); javasqlDate b = new javasqlDate(agetTime()); Systemoutprintln(b); javasqlTime c = new javasqlTime(agetTime()); Systemoutprintln(c); javasqlTimestamp d=new javasqlTimestamp(agetTime()); Systemoutprintln(d); } } 结果: Mon Apr 03 18:00:34 CST 2006 2006-04-03 18:00:34 2006-04-03 18:00:34388 1oracle 默认 的系 统时间 就是 sysdate 函数, 储 存的数据形如 25-3- 2005 10:55:33 2java 中取 时间 的对象是javautilDate 3oracle 中 对应的 时间对 象是javautilDate , javasqlTime , javasqlTimestamp 、 它们都是 是javautilDate的子 类 4oracle 中与 date *** 作 关 系最大的就是两个 转换 函数: to_date(),to_char() to_date() 一般用于写入日期到数据库时用到的函数。 to_char() 一般用于从数据库读入日期时用到的函数。 DATE 、 TIME 和 TIMESTAMP : SQL 定义了三种与时间有关的数据类型: DATE 由日、月和年组成。 TIME 由小时、分钟和秒组成。 TIMESTAMP 将 DATE 和 TIME 结合起来,并添加了纳秒域。 标准Java 类 javautilDate 可提供日期和时间信息。但由于该类包含 DATE 和 TIME 信息而没有 TIMESTAMP 所需的纳秒,因此并不与上述三种 SQL 类型完全相配。 因此我们定义了 javautilDate 的三种子类。它们是: 1有关 SQL DATE 信息的 javasqlDate 2有关 SQL TIME 信息的 javasqlTime 3有关 SQL TIMESTAMP 信息的 javasqlTimestamp 对于javasqlTime , javautilTime 基本类的小时、分钟、秒和毫秒域被设置为零。 对于 javasqlDate , javautilDate 基本类的年、月和日域被分别设置为 1970 年 1 月 1 日。这是在 Java 新纪元中的 “零” 日期。 javasqldate 中的日期可以和标准的SQL语句中含有日期的字段进行比较 javasqlTimestamp 类通过添加纳秒域来扩展 javautilDate oracle 中 两个转换函数: 1o_date() 作用将字符类型按一定格式转化为日期类型: 具体用法 :to_date(''2004-11-27'',''yyyy-mm-dd''), 前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如 ;to_date(''2004-11-27 13:34:43'', ''yyyy-mm-dd hh24:mi:ss'') 将得到具体的时间。 2to_char():将日期 转 按一定格式 换 成字符 类型: 具体用法 : to_char(sysdate,''yyyy-mm-dd hh24:mi:ss'') to_date() 与 24 小时 制表示法及 mm 分钟的显示: 在使用Oracle 的to_date 函数来做日期转换时,很多Java 程序员也许会直接的采用“yyyy-MM-dd HH:mm:ss”的格式作为格式进行转换,但是在Oracle 中会引起错误:“ORA 01810 格式代码出现两次 ” 如:select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual; 原因是 SQL 中不区分大小写, MM 和 mm 被 认为 是相同的格式代 码 ,所以 Oracle 的 SQL 采用了 mi 代替分 钟 oracle默 认 的系 统时间 就是sysdate函数, 储存的数据形如2005-3-2510:55:33 , java 中取 时间 的对象是javautilDate select to_date('2005-01-01 13:14:20 ','yyyy-MM-dd HH24:mi:ss') from dual 在java 对 oracle 的 *** 作中,对日期字段 *** 作的例子: 表book 中有 name varchar2(20)// 书籍名称 ,buydate Date // 购买日期 两个字段。 已经创建了数据库连接 Connection conn; 方法一、使用 javasqlDate 实现比较简单的 yyyy-mm-dd 格式日期。 javasqlDate 不支持时间格式。切记不要使用 new javasqlDate(int year,int month,int date), 因为还要处理时间差问题。 PreparedStatement pstmt = connprepareStatement("insert into book (name,buydate) values (,)"); javasqlDate buydate=javasqlDatevalueOf("2005-06-08"); pstmtsetString(1, "Java 编程思想 "); pstmtsetDate(2,buydate ); pstmtexecute(); 方法二、使用 javasqlTimestamp, 同上不使用 new Timestamp(……) PreparedStatement pstmt = connprepareStatement("insert into book (name,buydate) values (,)"); javasqlTimestamp buydate=javasqlTimestampvalueOf("2004-06-08 05:33:99"); pstmtsetString(1, "Java 编程思想 "); pstmtsetTimestamp(2,buydate ); pstmtexecute(); 方法三、使用 oracle 的 to_date 内置函数 PreparedStatement pstmt = connprepareStatement("insert into book (name,buydate) values (,to_date(, 'yyyy-mm-dd hh24:mi:ss')"); String buydate="2004-06-08 05:33:99"; pstmtsetString(1, "Java 编程思想 "); pstmtsetString(2,buydate ); pstmtexecute(); 附:oracle 日期格式参数含义说明 d: 一周中的星期几 day: 天的名字,使用空格填充到 9 个字符 dd: 月中的第几天 ddd: 年中的第几天 dy: 天的简写名 iw: ISO 标准的年中的第几周 iyyy:ISO 标准的四位年份 yyyy: 四位年份 yyy,yy,y: 年份的最后三位,两位,一位 hh: 小时,按 12 小时计 hh24: 小时,按 24 小时计 mi: 分 ss: 秒 mm: 月 mon: 月份的简写 month: 月份的全名 w: 该月的第几个星期 ww: 年中的第几个星期 以上就是java/oracle日期处理要点介绍,掌握java/oracle日期处理中的这部分重要内容,对我们学习java语言也是很有帮助的。所以希望大家能够认真学习java/oracle日期处理。

1、安装oracle后,运行程序,输入用户名等信息登录。

2、下面演示sysdate的用法,这个是oracle独有的,取当前时间。

3、下面介绍to_char()函数的用法,将时间转化为特定的格式。

4、下面介绍一种将时间转化为汉字形式的时间格式及显示出星期。

5、下面演示to_date函数的使用方法,将字符串转换为标准的时间格式。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12162912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存