*******第三章 函数
**本章目标
**
--熟悉各种类型单行函数的使用
--掌握转换函数的使用
··两种SQL函数
---单行函数---
--Character
--Number
--Date
--Conversion
---多行函数---
--
Group
---字符函数---
--LOWER 将字符串转换成小写
--
UPPER 将字符串变为大写
--
INITCAP 将字符串的第一个字母变为大写
--
CONCAT 拼接两个字符串,与 || 相同
--SUBSTR 取字符串的子串
--
LENGTH 以字符给出字符串的长度
--NVL 以一个值来替换空值
**字符函数举例
--LOWER('SQL Course')----> Sql Course
--sql course
UPPER('SQL Course') ----> SQL COURSE
--SQL COURSE
INITCAP('SQL Course')----> Sql Course
SELECT * FROM s_emp
WHERE last_name=‘PATEL’;
SELECT * FROM s_emp
WHERE UPPER( last_name)=‘PATEL’;
---字符操作函数---
--CONCAT('Good', 'String')---->GoodString
--GoodString
SUBSTR('String',1,3)---->Str
--Str
LENGTH('String') ----> 6
---数字函数
---
--ROUND(value,precision) 按precision 精度4舍5入
--
TRUNC(value,precision) 按precision 截取value
例:
SQL> SELECT round(55.5),round(-55.5),trunc(55.5),trunc(-55.5)
FROM dual;
round(55.5) round(-55.5) trunc(55.5) trunc(-55.5)
----------- ------------ ----------- -------------
56 -56 55 -55
SQL> SELECT TRUNC (124.16666, -2) trunc1, trunc(124.16666,2) FROM dual;
TRUNC1 TRUNC(124.16666,2)
---------- ------------------
100 124.16
---Round&Trunc函数---
--ROUND (45.923, 2) ----> 45.92
--ROUND (45.923, 0) ----> 46
--ROUND (45.923, -1)----> 50
--TRUNC (45.923, 2) ----> 45.92
--
TRUNC (45.923) ----> 45
--
TRUNC (45.923, -1)----> 40
---日期函数
---
--MONTHS_BETWEEN(date2,date1) 给出 Date2 - date1的月数
--
ADD_MONTHS 增加或减去月份
--NEXT_DAY ( date,’day’) 给出日期date之后下一天的日期
--
LAST_DAY(date) 返回日期所在月的最后一天
例:
--MONTHS_BETWEEN(‘01-SEP-95’,‘11-JAN-94’)---->19.774194
--ADD_MONTHS('11-JAN-94',6) ---->'11-JUL-94‘
--
NEXT_DAY('01-SEP-95','FRIDAY') ---->'08-SEP-95‘
--
LAST_DAY('01-SEP-95') ---->'30-SEP-95'
--ROUND('25-MAY-95','MONTH') ---->01-JUN-95
--
ROUND('25-MAY-95 ','YEAR') ---->01-JAN-95
--TRUNC('25-MAY-95 ','MONTH') ---->01-MAY-95
--
TRUNC('25-MAY-95 ','YEAR') ---->01-JAN-95
---*转换函数
*---
--TO_CHAR(date, 'fmt') 转换日期格式到字符串
用下列格式显示字符为数字:
9 代表一个数字.
0 显示前缀零.
$ 根据本地语言环境显示货币.
L 采用当地货币符号
. 打印一个小数点.
, 千位计算法显示.
---日期格式
---
DY 星期几的缩写 Mon,Tue,...
DAY 星期几的全拼 Monday,Tuesday,...
D 一周的星期几,星期天=1,星期六=7 1,2,3,4,5,6,7
DD 一月的第几天,131 1,2,... 31
W 一个月的第几周,1 5 1,2,3,4,5
WW,IW 一年的第几周,一年的ISO的第几周 1,2,3,4,... 52
MM 两为数的月 01,02,03,...12
MON 月份的缩写 Jan,Feb,Mar ,...Dec
MONTH 月份的全拼 January,February,...
YYYY,YYY,YY,Y 四位数的年,三位数的年 1999,999,99,9
YEAR 年的全拼 Nineteen Ninety-nine
RR 当前年份的后两位数字 01代表2001年
HH,HH12 12小时制,112 1,2,3,...12
HH24 24小时制,023 0,1,2,3,...23
MI 一小时中的第几分,059 0,1,2,3...59
SS 一分中的第几秒,059 0,1,2,3,...59