数据库学习笔记(三)函数

来源:互联网 发布:炒股软件哪款好 编辑:程序博客网 时间:2024/06/10 03:58
一、单行函数
    也称标量函数,对于从表中查询的每一行,该函数都返回一个值。
    单行函数出现在 SLEECT 
/ WHERE 子句中。

1、日期函数
    对日期值进行运算,根据用途产生日期
/数值类型的结果。

ADD_MONTHS(d, n)    返回 指定日期加上月数后的 日期值

  select hiredate,add_months(hiredate,6) from emp

MONTHS_BETWEEN(d1, d2)    返回 两个日期间的 月数

SELECT MONTHS_BETWEEN ( (SELECT hiredate
                         FROM emp
                         WHERE ename = 'JAMES'), (SELECT hiredate
                                                  FROM emp
                                                  WHERE ename = 'SMITH')
        )
        months
FROM DUAL


LAST_DAY(d)        返回 指定日期当前的最后一天的 日期值

SELECT LAST_DAY(TO_DATE('2017-05','YYYY-MM')) from DUAL

RONUD(d,[fmt])        返回 指定日期四舍五入格式(YEARMONTHDAY)后的 日期值

select round(sysdate,'month') from dual:2017/4/1

NEXT_DAY(d,day)        返回 指定日期下一个星期几的 日期值

SELECT NEXT_DAY (TO_DATE ('2017-3-17', 'yyyy-mm-dd'), 2) 下个周二
FROM DUAL;

TRUNC(d,[fnt])        返回 指定日期截断为格式后的 日期值

select trunc(sysdate,'year') 留年 from dual  :2017/1/1

EXTRACT(fmt FROM d)    返回 指定日期提取的格式的 值 
SELECT EXTRACT (YEAR FROM SYSDATE) yearFROM DUAL     :2017




2、字符函数
    字符函数接受字符输入,并返回字符或数值。
INITCAP(
char)        首字母大写
LOWER(char)        转换为小写
UPPER(char)        转换为大写

LTRIM(charset)    左裁切   

set参数不知道是什么  select length(rtrim(' 1 2 ')) from dual   :4

RTRIM(charset)    右裁切

TRANSLATE(charfromto)        按字母翻译    

select translate('1234','12','u') from dual     :u34

select translate('1234','1','uuuu') from dual   :u234

REPLACE(char, search_str, replace_str)    字符串替换 

SELECT REPLACE ('123', '12', 'q') FROM DUAL   :q3

INSTR(char, substr[,pos])        查找子串位置  

select instr('12123456','123') from dual:3

SUBSTR(char, pos, len)            取子字符串
CONCAT(char1, char2)            连接字符串

CHR(
ascii)        根据 ASCII 码返回对应字符串
LPAD 
/ RPAD        左 / 右 填充
    LPAD (
'function'15 , '=') 返回    '=======function'
TRAM            开头或结尾(或 开头和结尾)裁剪特定的字符,默认裁剪空格。
    TRIM (
[LEADING | TRAILING] trim_char)
LENGTH(
char)        返回字符串长度
DECODE            逐个值进行字符串替换
    DECODE (expr, search1, result1, search2, result2, 
[ ,default])
    DECODE (ostalus, 
'p''准备处理''c''已完成')



3、数字函数
    数字函数接受数字输入并返回数值作为输出结果。
ABS(n)        取绝对值
CEIL(n)        向上取值
FLOOR(n)    向下去整
SIN(n)        正弦值
COS(n)        余弦值
POWER(m, n)    指数函数
SQRT(n)        平方根
MOD(m, n)    取余
ROUND(m, n)    小数点后精度四舍五入
TRUNC(m, n)    小数点后精度截断


4、转换函数
    转换函数将一种数据类型转换为另一种数据类型。
TO_CHAR (d
|n, [,fmt])        格式化 日期 / 数值
TO_DATE (
char [,fmt])        将 fmt模型格式的字符串 转换为日期型
TO_NUMBER (
char)        将 包含数字的的字符串转换为 数值型


5、其他函数
NVL (
exp, exp2)        如果 exp 为空返回 exp2;如果非空返回 exp
NVL2 (
exp, exp2, exp3)    如果 exp 为空返回 exp3;如果非空返回 exp2
NULLIF (exp1, exp2)    比较两表达式,相等返回空值,不等则返回 exp1
0 0
原创粉丝点击