处理字符的函数
lower(char);//把字符串转换成小写格式
upper(char);//把字符转换成大写
length(char);//返回字符串的长度
substr(char,m,n);//截取字符串
replace(字段,"关键字","替换字");//把指定字段中的指定的关键字替换成替换字
instr(char1,char2);//找出2在1的位置
处理时间的函数
Oracle默认的时间格式是:dd-mm-yy : 日,月年
to_date();
* to_date('1993-12-09','yyyy-mm-dd');
* 把指定的时间,字符串格式化为指定的类型
sysdate;//返回系统时间
add_months(d,n);//从d个月开始添加n个月的时间
last_day(d);//返回指定日期所在月份的最后一天
数学函数
round(n,[m]);
* 该函数用于执行四舍五入,如果省掉M,则四舍五入到整数,如果m是正数,则四舍五入到小数点m位后,如果m是负数,则四舍五入到小数点m位前
trunc(n,[m])
* 该函数用于截取数字,如果省掉m,就截去小数部分,如果m是正数,就截取到小数点m位后,如果m是负数,就截取到小数点的前m位
mod(m,n);//m%n的值,就是取模,取余数
floor(n)返回小于或是等于n的最大整数
ceil(n)返回大于或是等于n的最小整数
abs(n);返回数字n的绝对值
exp(n);返回e的n次幂
power(m,n);//返回m的n次幂
转换函数
--转换函数,用于在不同的数据类型之间做转换,在一些情况下.
Oracle Server 允许值的数据类型和实际的不一样,
这时Oracle会悄悄的进行数据类型的转换
比如:create table demo(id int);
:insert into demo('15');//就会把15给你转换成int
非常有用的一个函数
to_char();
例如:
select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi;ss') from emp;
* 把指定字段的日期,按照你需要的格式来进行输出,你也可以单独的指定只获取年份,月份,日期等,取决于你后面添加的字符
* 当然,如果你插入数据的时候,没有指定小时,分钟,秒..那么全部就默认为0
例如:带上货币单位
select ename "名字",to_char(sal,'L99999.99') "薪资" from emp;
* L是一个货币,代表本地货币单位,会根据系统自动的判断货币单位
* 99999.99代码的是,五位整数,带了两位小数(注意,这个或许是跟该字段的数据类型有关)
系统函数
sys_context('userenv','参数;); 该系统函数有如下7个参数
terminal
* 当前会话客户,所对应的终端的标识符
lanuage
* 语言
db_name
* 当前数据库名称
nls_date_format
* 当前会话客户所对应的日期格式
session_user
* 当前会话客户锁对应的数据库用户名
current_schema
* 当前会话客户所对应的默认方案名
host
* 返回数据库所在主机的名称
通过这些函数,额可以查询一些重要的信息
例如:
select sys_context('userenv','db_name') from dual;
* 获取的就是当前数据库的名称