oracle学习笔记二(基本的日期函数)


日期函数:
sysdate:返回系统时间
add_months(d,n);

查找入职8个月多的员工:
select * from emp where sysdate>add_months(hiredate,8);
add_months(hiredate,8):表示从雇用时间开始再加上8个月
add_months(hiredate,8*12):表示加上8年

查询员工加入到公司的天数:
select floor(sysdate-hiredate) as "入职天数" from emp;
trunc()截掉
floor()向下取整   日期相减 得到 天数
找出各月倒数第3天受雇的所有员工:
select hiredate,ename from emp where last_date(hiredate)-2=hiredate;

last_day(d):返回指定日期所在月份的最后一天



转换函数
比如:
create table t1(id int);
insert into t1 values('10');
这样oracle会自动的将'10'转换成10;

create table t2(id varchar2(10));
insert into t2 values(1);
oracle会自动转换

to_char();

日期显示 时分秒

select ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss');

添加时,如果没有插入时分秒,那么默认都为0
insert into emp values(222,'test','manager,88,sysdate);
或者
to_date('1998-09-23 22:30:00','yyyy-mm-dd hh24:mi:ss');

插入薪水:

select ename,to_char(sal,'L99999,99') from emp
显示出来会是RMB2000
L:代表显示本地货币符合,中文:以RMB来显示
99999.99:代表是5位整数后代两位小数(这是因为sal这个字段是 sal number(7,2))

9:显示数字,并忽略前面0,
0:显示数字,如位数不足,则用0补齐
. :在指定位置显示小数点
,:在指定位置显示逗号    L99,999,99 每三位显示,
$:在数字前加美元
C:在数字前加国际货币符合
G:在指定位置显示组分隔符
D:在指定位置显示小数点符合

to_char
显示1980年入职的所有员工;
select * from emp where to_char(hiredate,'yyyy')=1980;
显示所有12份入职的员工:

select * from emp where to_char(hiredate,'mm')=12;

你可能感兴趣的:(oracle)