1.大小写控制函数
SQL> select lower('Hello World'), upper('Hello World') from dual;
LOWER('HELL UPPER('HELL
----------- -----------
hello world HELLO WORLD
2.initcap: 首字母大写
select initcap('hello world') from dual;
3.concat: 字符连接函数, 等同于 ||
SQL> select concat('Hello',' World') from dual;
CONCAT('HEL
-----------
Hello World
4.
--substr:求母串中的某个子串
SQL> select substr('Hello World',3) from dual;
SUBSTR('H
---------
llo World
SQL> select substr('Hello World',3,4) from dual;
SUBS
----
llo
5.
--length和lengthb: 字符数和字节数
SQL> select length('China'), lengthb('China') from dual;
LENGTH('CHINA') LENGTHB('CHINA')
--------------- ----------------
5 5
6.
--instr:在母串中,查找子串的位置
SQL> select instr('Hello World','ll') from dual;
INSTR('HELLOWORLD','LL')
------------------------
3
7.
--lpad,rpad: 左右填充,将abcd用*填充到10位
SQL> select lpad('abcd',10,'*'), rpad('abcd',10,'*') from dual;
LPAD('ABCD RPAD('ABCD
---------- ----------
******abcd abcd******
8.
--trim: 去掉字符串前后指定的字符
SQL> select trim('H' from 'Hello WorldH') from dual;
TRIM('H'FR
----------
ello World
9.
--replace:字符串替换函数
SQL> select replace('Hello Wordl','l','*') from dual;
REPLACE('HE
-----------
He**o Word*
10.
--数字函数
select round(45.926,2) 四舍五入, trunc(45.926,2) 截断 ,mod(1600,300) 求于 from dual;
SQL> select round(45.926,2), trunc(45.926,2),mod(1600,300) from dual;
ROUND(45.926,2) TRUNC(45.926,2) MOD(1600,300)
--------------- --------------- -------------
45.93 45.92 100
11.
--ROUND函数
select round(45.923,0) 整数位, round(45.923,-1) 十位,round(45.923,-2) 百位 from dual;
SQL> select round(45.923,0), round(45.923,-1),round(45.923,-2) from dual;
ROUND(45.923,0) ROUND(45.923,-1) ROUND(45.923,-2)
--------------- ---------------- ----------------
46 50 0
12.
--日期函数
--显示当前日期
SQL> select sysdate from dual;
SYSDATE
---------
07-NOV-13
13.
--显示时间部分
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'YY
-------------------
2013-11-07 09:38:52
14.
--显示昨天,今天和明天,加减数字仍未日期
select sysdate-1 昨天, sysdate 今天, sysdate+1 明天 from dual;
SQL> select sysdate-1, sysdate, sysdate+1 from dual;
SYSDATE-1 SYSDATE SYSDATE+1
--------- --------- ---------
06-NOV-13 07-NOV-13 08-NOV-13
--两个日期相减,结果为相差的天数,查询员工信息,显示员工工龄。两个日期不能相加
select EMPLOYEE_ID,FIRST_NAME, JOB_ID, SALARY from EMPLOYEES;
15.
--add_months:在指定日期上加上若干个月
select add_months(sysdate,1), add_months(sysdate,123) "123个月后" from dual;
SQL> select add_months(sysdate,1), add_months(sysdate,123) "123个月后" from dual;
ADD_MONTH 123??????
--------- ---------
07-DEC-13 07-FEB-24
16.
--last_day: 某个日期当月的最后一天
SQL> select last_day(sysdate) from dual;
LAST_DAY(
---------
30-NOV-13
17.
--对日期进行四舍五入
SQL> select round(sysdate,'MONTH') 月,round(sysdate,'YEAR') from dual;
?? ROUND(SYS
--------- ---------
01-NOV-13 01-JAN-14
18.
--对日期进行截断
SQL> select trunc(sysdate,'MONTH') 月,trunc(sysdate,'YEAR') from dual;
?? TRUNC(SYS
--------- ---------
01-NOV-13 01-JAN-13
19.
-- 查询当前日期:显示: 2011-09-17 15:12:15今天是星期六
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss"今天是"day') from dual;
TO_CHAR(SYSDATE,'YYYY-MM-DDHH24:MI:SS"??????"DAY')
-------------------------------------------------------------------------
2013-11-07 09:56:17??????thursday
阅读(926) | 评论(0) | 转发(0) |