您的位置:首页 > 数据库 > Oracle

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

2016-03-01 12:09 531 查看
*******第三章 函数

**本章目标

**

--熟悉各种类型单行函数的使用

--掌握转换函数的使用

··两种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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: