function_name[(arg1,arg2,...)] --function_name 函数的名称 --arg1,arg2 函数将使用的任意参数,它可以用列名或表达式来代表。
单行函数用于处理数据项的。接受一个或多个参数,并为查询返回的每个行返回一个值。
参数可以是下列之一:用户提供的常数、变量值、列名、表达式。
单行函数特性:
作用于查询返回的每个行。
为每行返回一个结果。
可能会返回与引用数据类型不同的数据值。
可能需要一个或多个参数。
可以用在select、where和order by 子句中;也可以嵌套。
-----------
字符函数:接受字符输入,并且可以返回字符和数字值。
数字函数:接受数字输入,并返回数字值。
日期函数:处理DATE 数据类型的值。(所有日期函数都返回DATE数据类型的值,只有MONTHS_BETWEEN 函数返回数字。)
转换函数:将值从一种数据类型转换为另一种数据类型。
常规函数:
--NVL
--NVL2
--NULLIF
--COALSECE
--CASE
--DECODE
-----------------------
--大小写处理函数 LOWER(column|expression) --将字母字符值转换为小写。 UPPER(column|expression) --将字母字符值转换为大写。 INITCAP(column|expression) --将字母字符值转换为每个词的首字母为大写。其他所有字母为小写 CONCAT(column1|expression1,column2|expression2)--将第一个字符值与第二个字符值相连。等同于连接运算符(||) SUBSTR(column|expression,m,[n])--返回字符值中的指定字符。从第m个开始,长度为n。如果m为负数,则从字符值的末尾开始算起。如果省略n,将返回一直到字符串末尾的所有字符。 LENGTH()--返回表达式中的字符数。 LPAD() RPAD() TRIM() REPLACE()
--数字函数 ROUND(column|expression,n)--将列、表达式或值进行舍入,保留n个小数位。如果省略了n,则没有小数位。如果n是负数,则舍入小数点左边的数字。 ROUND(45.926,2) -----45.93 TRUNC(column|expression,n)--将列、表达式或值截断, 保留n个小数位(不舍入),如果省略了n,则n默认为0. TRUNC(45.926,2) ----45.92 MOD(m/n)-- 返回m除n之后的余数 MOD(1600,300) ---100
------
DUAL表,属于用户SYS,所有用户都可访问。包含一个DUMMY列和一个值为x的行。
用于查看函数或计算结果的空表。
select round(42.923,2),round(42.923,0),round(42.923,-1) from dual
---
SYSDATE --返回数据库服务器的当前日期和时间。 select SYSDATE from dual;
--使用算术运算符处理日期 select last_name,(sysdate-hire_date)/7 as WEEKS from employees where department_id=90;