Oracle数据库Sql语句详解---函数

*******第三章 函数


**本章目标
**
--熟悉各种类型单行函数的使用

--掌握转换函数的使用


··两种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    一月的第几天,131 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小时制,112 1,2,3,...12
HH24 24小时制,023 0,1,2,3,...23
MI 一小时中的第几分,059 0,1,2,3...59
SS 一分中的第几秒,059 0,1,2,3,...59

你可能感兴趣的:(Oracle数据库Sql语句详解---函数)