1、字符函数:
lower:将字符串转化为小写的格式
upper:将字符串转化为大写的格式
length:返回字符串的长度
substr:取字符串的字串
replace:替换指定的字母
instr:找字符串的位置
演示:
select lower(name),sal from emp
select * from emp where length(ename)=5; 显示员工姓名长度为5的员工
select substr(ename,1,3) from emp; (3代表取几个,1代表从第几个取)显示员工姓名的前三个字符
selectupper(subsetr(ename,1,1))||lower(substr(ename,2,length(ename)-1))from emp; 完成显示姓名的首字母是大写
select replace(ename,'A','B')from emp;(用B替换A)
2、数学函数
round(n,[m]):用于执行四舍五入,如省去m就取整数
trunc(n,[m]):用于截取数字,如省去m,就截去小数部分
mod(m,n):取模
floor(n):返回小于或者等于n的整数
ceil(n):返回大于或等于n的整数
abs(n):返回数字n的绝对值
演示:
select round(sal,1),sal from emp; 输出:231.3 、 231.34
select trunc(comm,1),comm from emp; 输出55.6 、 55.66
select floor(comm) from emp;输出:55 、 55.66
select mod(10,2) from dual ; ???
3、日期函数
sysdate:该函数返回系统时间 select sysdate fromdual 显示系统时间。
add_months(d,n):
select * from emp where sysdate>add_month(hirdate,8); 查找入职时间大于8个月的员工信息
last_day(d):返回指定日期所在月份的最后一天
select trunc(sysdate-hirdate) "入职天数" from emp; 显示员工的入职天数
select * from emp where hirdate =last_day(hirdate)-2; 显示入职时间是当月倒数第三天的员工
4、转换函数
to_char :
select ename,to_char(hirdate,'yyyy-mm-ddhh24:mi:ss') from emp;
to_char(sal,'L99,999.99')用本地货币符号显示工资(前面5个整数后面2个小数)
9:显示数字,并忽略前面0
0:显示数字,,如位数不足,则用0补齐
.:在指定位置显示小数点
,:在指定位置显示逗号
$:在数字前加美元
L:在数字前加本地货币符号
C:在数字前加国际货币符号
G:在指定位置显示组分隔符、
D:在指定位置显示小数点符号.
select * from emp whereto_char(hirdate,'yyyy') = 1988;显示所有1988年入职的员工
to_date
5、系统函数
sys_context
(1)terminal:当前会话客户所对应的终端标识符
(2)lanuage:语言
(3)db_name:当前数据库名称
(4)nls_date_format:当前会话客户所对应的日期格式
(5)session_user:当前会话客户所对应的数据库用户名
(6)current_schema:当前会话客户对应的默认方案名
(7)host:返回数据库所在主机的名称
selectsys_context('USERENV','db_name')from dual; 输出当前数据库名称