SQL> select round(23.4), round(23.45,1),round(23.45,-1) from dual;
ROUND(23.4) ROUND(23.45,1) ROUND(23.45,-1)
----------- -------------- ---------------
23 23.5 20
注意:
SQL> select ceil(23.45),floor(23.45) from dual;
CEIL(23.45) FLOOR(23.45)
----------- ------------
24 23
SQL> select abs(23.45),abs(-23),abs(0) from dual;
ABS(23.45) ABS(-23) ABS(0)
---------- ---------- ----------
23.45 23 0
SQL> select mod(5,2) from dual;
MOD(5,2)
----------
1
SQL> select mod(5,null) from dual;
MOD(5,NULL)
-----------
SQL> select power(2,3),power(null,2) from dual;
POWER(2,3) POWER(NULL,2)
---------- -------------
8
SQL> select sqrt(16) from dual;
SQRT(16)
----------
4
SQL> select sin(3.124) from dual;
SIN(3.124)
----------
.017591746
SQL> select upper('abde'),lower('ADe'),initcap('asd') from dual;
UPPE LOW INI
---- --- ---
ABDE ade Asd
SQL> select substr('abcde',2,3), substr('abced',2),substr('abced',-2,1) from dual;
SUB SUBS S
--- ---- -
bcd bced e
SQL> select length('abc ') from dual;
LENGTH('ABC')
-------------
4
SQL> select concat('ab','dc') from dual;
CONC
----
abdc
SQL> select 'ab' || 'cd' from dual;
'AB'
----
abcd
SQL> select trim('a' from 'abcde') from dual;
TRIM
----
bcde
SQL> select ltrim('ababaa','a') from dual;
LTRIM
-----
babaa
SQL> select rtrim('ababaa','a') from dual;
RTRI
----
abab
SQL> select replace('abcde','a','A') from dual;
REPLA
-----
Abcde
SQL> select replace('abcde','a') from dual;
REPL
----
bcde
SQL> select replace('abcde','ab','A') from dual;
REPL
----
Acde
SQL> select sysdate from dual;
SYSDATE
--------------
17-9月 -22
SQL> select add_months(sysdate,3),add_months(sysdate,-3) from dual;
ADD_MONTHS(SYS ADD_MONTHS(SYS
-------------- --------------
17-12月-22 17-6月 -22
SQL> select next_day(sysdate,'星期一') from dual;
NEXT_DAY(SYSDA
--------------
19-9月 -22
SQL> select last_day(sysdate) from dual;
LAST_DAY(SYSDA
--------------
30-9月 -22
SQL> select months_between('20-5月-22','10-1月-22') from dual;
MONTHS_BETWEEN('20-5月-22','10-1月-22')
---------------------------------------
4.32258065
SQL> select extract(year from sysdate) from dual;
EXTRACT(YEARFROMSYSDATE)
------------------------
2022
SQL> select extract(month from sysdate) from dual;
EXTRACT(MONTHFROMSYSDATE)
-------------------------
9
SQL> select extract(day from sysdate) from dual;
EXTRACT(DAYFROMSYSDATE)
-----------------------
17
SQL> select extract(hour from timestamp '2022-10-6 17:22:12') from dual;
EXTRACT(HOURFROMTIMESTAMP'2022-10-617:22:12')
---------------------------------------------
17
命令
格式
SQL> select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
TO_CHAR(SYSDATE,'YYY
--------------------
2022-09-17 17:26:15
SQL> select to_char(sysdate,'YYYY-MM-DD HH12:MI:SS') from dual;
TO_CHAR(SYSDATE,'YY
-------------------
2022-09-17 05:27:10
SQL> select to_date('2022-05-20','YYYY-MM-DD') from dual;
TO_DATE('2022-
--------------
20-5月 -22
SQL> select to_char(12346.789,'$99,999.999') from dual;
TO_CHAR(1234
------------
$12,346.789
SQL> select to_char(12346.789,'S99,999.999') from dual;
TO_CHAR(123
-----------
+12,346.789
SQL> select to_char(12346.789,'99,999.999S') from dual;
TO_CHAR(123
-----------
12,346.789+
SQL> select to_number('$1,000','$9999') from dual;
TO_NUMBER('$1,000','$9999')
---------------------------
1000
# 建表
SQL> create table users_3(id varchar2(10), name varchar2(11), cardid varchar2(18), deptno varchar2(10), regdate date, age number(4));
表已创建。
# 查询字段
SQL> desc users_3;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ID VARCHAR2(10)
NAME VARCHAR2(11)
CARDID VARCHAR2(18)
DEPTNO VARCHAR2(10)
REGDATE DATE
AGE NUMBER(4)
# 插入数据
SQL> insert into users_3(id,name,cardid,deptno,regdate,age) values('1','aaa','123123123','01',sysdate,20);
已创建 1 行。
# 查询表数据
SQL> select * from users_3;
ID NAME CARDID DEPTNO REGDATE AGE
---------- ----------- ------------------ ---------- -------------- ----------
1 aaa 123123123 01 19-9月 -22 20
# 查询员工生日
SQL> select substr(cardid,7,8) from users_3;
SUBSTR(CARDID,7,
----------------
123
SQL>
SQL> select replace(deptno,'01','信息技术') from users_3;
REPLACE(DEPTNO,'01','信息技术')
--------------------------------------------------------------------------------
信息技术
SQL> select extract(year from regdate) from users_3;
EXTRACT(YEARFROMREGDATE)
------------------------
2022
SQL> select mod(age,10) from users_3;
MOD(AGE,10)
-----------
0
SQL> update users_3 set age = 25;
已更新 1 行。
SQL> select mod (age,10) from users_3;
MOD(AGE,10)
-----------
5
SQL> select extract(year from regdate) from users_3;
EXTRACT(YEARFROMREGDATE)
------------------------
2022
SQL> select * from users_3 where extract(month from regdate)=9;
ID NAME CARDID DEPTNO REGDATE AGE
---------- ----------- ------------------ ---------- -------------- ----------
1 aaa 123123123 01 19-9月 -22 25