相关链接:
oracle简单学习总结(一)——sql
http://www.2cto.com/database/201210/159545.html;
oracle简单学习总结(二)——查询
http://www.2cto.com/database/201210/159556.html
一、数值型函数
函 数
功 能
实 例
结 果
abs
求绝对值函数
abs( 5)
5
sqrt
求平方根函数
sqrt(2)
1.41421356
power
求幂函数
power(2,3)
8
cos
求余弦三角函数(用弧度)
cos(3.14159)
1
mod
求除法余数
mod(1600, 300)
100
ceil
求大于等于某数的最小整数
ceil(2.35)
3
floor
求小于等于某数的最大整数
floor(2.35)
2
round
按指定精度对十进制数四舍五入
round(45.923, 1)
round(45.923, 0)
round(45.923, 1)
round(45.923, 0)
round(45.923, 1)
45.9
46
50
46
50
trunc
按指定精度截断十进制数
trunc(45.923, 1)
trunc(45.923)
trunc(45.923, 1)
trunc(45.923)
trunc(45.923, 1)
45.9
45
40
45
40
二、oracle中的dual表
2.1 理解
1、DUAL是 SYS用户的一个TABLE.
2、Dual是Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。
3、DUAL就是个一行一列的表,该表和系统中的其他表一样,一样可以执行插入、更新、删除操作,还可以执行drop操作。但是不要去执行drop表的操作,否则会使系统不能用,
数据库起不了,会报Database startup crashes with ORA-1092错误。
2.2 DUAL 能做什么
1、查找当天日期
SQL> select sysdate from dual;
SQL> select sysdate from dual;
2、查找当前日期的当月第一天
SQL> select trunc(sysdate,’MONTH’) from dual;
SQL> select trunc(sysdate,’MONTH’) from dual;
3、查找当前日期的当月最后一天
SQL> select trunc(last_day(sysdate)) from dual;
SQL> select trunc(last_day(sysdate)) from dual;
4、查看当前用户,可以在SQL Plus中执行下面语句
SQL> select user from dual;
SQL> select user from dual;
5、获得当前系统时间
SQL> select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual;
SQL> select to_char(sysdate,’yyyy-mm-dd hh24:mi:ss’) from dual;
6、获得主机名
SQL>select SYS_CONTEXT(‘USERENV’,'TERMINAL’) from dual;
7、获得当前locale
SQL>select SYS_CONTEXT(‘USERENV’,'language’) from dual;
SQL>select SYS_CONTEXT(‘USERENV’,'language’) from dual;
8、获得一个随机数
SQL>select dbms_random.random from dual;
SQL>select dbms_random.random from dual;
9、查看当前日期、时间
SQL> select sysdate from dual;
SQL> select sysdate from dual;
10、获得序列your_sequence的下一个值
SQL>select your_sequence.nextval from dual;
SQL>select your_sequence.nextval from dual;
11、获得序列your_sequence的当前值
SQL>select your_sequence.currval from dual;
SQL>select your_sequence.currval from dual;
12、可以用做计算器
参考网址:http://www.2cto.com/database/201209/152484.
html
三、字符型函数
函数名称
功 能
实 例
结 果
ascii
获得字符的ASCII 码
Ascii('A')
65
chr
返回与ASCII 码相应的字符
Chr(65)
A
lower
将字符串转换成小写
lower ('SQL Course')
sql course
upper
将字符串转换成大写
upper('SQL Course')
SQL COURSE
initcap
将字符串转换成每个单词以大写开头
initcap('SQL course')
Sql Course
concat
连接两个字符串
concat('SQL', ' Course')
SQL Course
substr
给出起始位置和长度,返回子字符串
substr('String',1,3)
Str
length
求字符串的长度
length('Wellcom')
7
instr
给出起始位置和出现的次数,求子字符串在字符串中出现的位置
instr('String', 'r',1,1)
3
lpad
用字符填充字符串左侧到指定长度
lpad('Hi',10,'-')
--------Hi
rpad
用字符填充字符串右侧到指定长度
rpad('Hi',10,'-')
Hi--------
trim
在一个字符串中去除另一个字符串
trim('S' FROM 'SSMITH')
MITH
replace
用一个字符串替换另一个字符串中的子字符串
replace('ABC', 'B', 'D')
ADC
四、日期型函数
1、
Oracle使用内部数字格式来保存时间和日期,包括世纪、年、月、日、小时、分、秒。缺省日期格式为DD-MON-YY,如“08-05月-03”代表2003年5月8日。
2、SYSDATE是返回 系统日期和时间的虚列函数。
2、SYSDATE是返回 系统日期和时间的虚列函数。
函 数
功 能
实 例
结 果
months_between
返回两个日期间的月份
months_between ('04-11 月-05','11-1 月
-01')
-01')
57.7741935
add_months
返回把月份数加到日期上的新日期
add_months('06-2 月-03',1)
add_months('06-2 月-03',-1)
add_months('06-2 月-03',-1)
06-3 月-03
06-1 月-03
06-1 月-03
next_day
返回指定日期后的星期对应的新日期
next_day('06-2 月-03','星期一')
10-2 月-03
last_day
返回指定日期所在的月的最后一天
last_day('06-2 月-03')
28-2月-03
round
按指定格式对日期进行四舍五入
round(to_date('13-2 月-03'),'YEAR')
round(to_date('13-2 月-03'),'MONTH')
round(to_date('13-2 月-03'),'DAY')
round(to_date('13-2 月-03'),'MONTH')
round(to_date('13-2 月-03'),'DAY')
01-1 月-03
01-2 月-03
01-2 月-03
16-2 月-03