学习回顾oracle基础知识
21、数值幂运算(power)
power(n1, n2)返回n1的n2次方根。
select power(2, 10) from dual
结果
1024
22、获取数字的符号(sign)
sign(n)函数用于获取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
select sign(-100) from dual
结果
-1
23、获取数值的根(sqrt)
sqrt(n)用来获取n的根
select sqrt(10000) from dual
结果
100
24、日期字段增加或者减去月份(add_months)
add_months(date, n)用于给日期字段date增加n个月。
select sysdate from dual
结果
2017/11/8 10:25:32
select add_months(sysdate, 1) from dual
结果
2017/12/8 10:26:34
25、获取日期对应月份的最后一天(last_day)
last_day(date)可以获取date对应月份的最后一天,时间部分和date时间部分一致。
select last_day(sysdate) from dual
结果
2017/11/30 10:28:32
26、获取两个日期相差的月数(months_between)
months_between(date1, date2)返回date1和date2相差的月数
select months_between(sysdate, add_months(sysdate, 100)) from dual;
结果
-100
27、获取指定时间在对应时去的值(new_time)
new_time(date, this, that)将给定时间从this失去变换到that时区后的时间。
时区1 时区2 说明
AST ADT 大西洋标准时间
BST BDT 白令海标准时间
CST CDT 中部标准时间
EST EDT 东部标准时间
GMT 格林尼治标准时间
HST HDT 阿拉斯加—夏威夷标准时间
MST MDT 山区标准时间
NST 纽芬兰标准时间
PST PDT 太平洋标准时间
YST YDT YUKON标准时间
获取当前时间和 东部标准时间对应的时间
select sysdate, new_time(sysdate, 'EST', 'EDT') from dual;
结果:
2017/11/8 10:42:56 2017/11/8 10:42:56
获取当前时间和对应大西洋时间
select sysdate, new_time(sysdate, 'AST', 'ADT') from dual;
结果
2017/11/8 10:44:13 2017/11/8 11:44:13
28、获取这个星期指定日的日期(next_day)
next_day(date,char)指定date下个星期char的日期,时间部分不变。
其中char为1~7
select sysdate, next_day(sysdate, 7)from dual;
结果
2017/11/8 10:49:08 2017/11/11 10:49:08
29、字符集转换(convert)
convert(c,dset, sset)将源字符串c从sset语言字符集转换为dset语言字符集。
30、将16进制的字符串转换为二进制(hextoraw)
hextoraw(str)将str转换为二进制
select rawtohex('ff') from dual;
结果:
6666