SQL> create table users
2 (id varchar2(10),
3 name varchar2(11),
4 cardid varchar2(18),
5 deptno varchar2(10),
6 regdate date,
7 age number(4,0));
表已创建。
SQL> insert into users values('1','abc','12345619920505','01',sysdate,'');
已创建 1 行。
SQL> select * from users;
ID NAME CARDID DEPTNO REGDATE AGE
---------- ----------- ------------------ ---------- -------------- ----------
1 abc 12345619920505 01 30-1月 -22
SQL> select substr(cardid,7,8) from users;
SUBSTR(CARDID,7,
----------------
19920505
SQL> select replace(deptno,'01','信息技术') from users;
REPLACE(DEPTNO,'01','信息技术')
--------------------------------------------------------------------------------
信息技术
SQL> select mod(age,10) from users;
MOD(AGE,10)
-----------
SQL> update usres set age=25;
update usres set age=25
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> update users set age=25;
已更新 1 行。
SQL> select mod(age,10) from users;
MOD(AGE,10)
-----------
5
SQL> select extract(year from regdate) from users;
EXTRACT(YEARFROMREGDATE)
------------------------
2022
SQL> select * from users where extract(month from regdate) = 5;
未选定行
SQL> select * from users where extract(month from regdate) = 1;
ID NAME CARDID DEPTNO REGDATE AGE
---------- ----------- ------------------ ---------- -------------- ----------
1 abc 12345619920505 01 30-1月 -22 25
--在查询中使用函数
--员工信息表
create table xcc_users (
id varchar2(10),name varchar2(11),cardid varchar2(18),
deptno varchar2(10),regdate date,ace number(4));
--插入一条数据
insert into xcc_users (id,name,cardid,deptno,regdate,ace)values('1','abc','123456789012345678','01','22-5月-15','25');
select * from xcc_users;
1.在员工信息表查询出员工的生日
select substr(cardid,7,8) from xcc_users;
2.将部门号全部替换成'信息技术'
select replace(deptno,'01','信息技术')from xcc_users;
3.将员工信息表中的年龄字段与10取余数
select mod(ace,10) from xcc_users;
4.取得员工入职的年份
select extract(year from regdate) from xcc_users;
5.查询出5月份入职的员工信息
select * from xcc_users where extract(month from regdate)=5;
在查询中使用函数
1、在查询中使用字符函数
·在员工信息表查询出员工的生日
根据员工身份证号码得到员工生日
·将部门号01全部替换成‘信息技术’
2、在查询中使用数值函数
·将员工信息表中的年龄字段与10取余数
3、在查询中使用日期函数
·取得员工入职的年份
·查询出5月份入职的员工信息
extra函数就是可以把年月日从日期里面单独剥离出来;还能复合着用,先选出来再做条件筛选,这是我没想到的
在员工信息表查询出员工的生日
根据身份证号码得到员工的生日
select substr(cardid,7,8)from users;
将部门号01全部替换成信息技术
select replace(deptno,01,'信息极速') from users;
将员工信息表中年龄字段与10取余数
select mod(age,10)from users;
在查询中使用日期函数
select extract(year from redate) from users;
查询出5月份入职的员工信息
select * from users where extract(month from redate ) = 5;