zoukankan      html  css  js  c++  java
  • 单行函数

    函数:数据库为用户提供的支持,不是标准的SQL语句,数据库中完成特定的功能操作是通过函数来体现的,因此不同的数据库函数不相同。

    单行函数

    一、字符函数

    1、UPPER():将字符全部大写    SELECT UPPER(EMP) FROM DUAL;

    2、LOWER():将字符全部小写 SELECT LOWER(EMP)FROM DUAL;

    3、INITCAP():将首字母大写 SELECT INITCAP(EMP)FROM DUAL;

    4、REPLACE():替换对应的字符 SELECT REPLACE(EMP,'A','') FROM DUAL;

    5、LENGTH():显示字符串的大小 SELECT LENGTH(EMP) FROM DUAL;

    6、SUBSTR():截取字符串 SELECT SUBSTR(EMP,1,5)FROM DUAL; 从第一个开始截取五个,包含第一个。SELECT SUBSTR(EMP,2)FROM DUAL;从第二个开始,截取后面的所有

    7、ASCII();返回指定字符对应的十进制数字 SELECT ASCII('A')FROM DUAL;

    8、CHR():指定对应的十进制数字返回字符 SELECT CHR(97)FROM DUAL;

    9、RPAD():向右边补齐指定的字符 SELECT RPAD('ABC',5,'A') FROM DUAL;      ABCAA 

    10、LPAD():向左边补齐指定的字符 SELECT LPAD('ABC',5,B) FROM DUAL;   BBABC

    11、LTRIM():去除左边的空格

    12、RTRIM():去除右边的空格

    13、TRIM():去除左右两边的空格

    14、INSTR():查询指定的字符返回字符最开始出现的位置,查询时区分大小写,查不到返回0   SELECT INSTR('ABCDE','BC')FROM DUAL     2

    二、数值函数

    1、ABS():绝对值

    2、三角函数(SIN(),ASIN(),COS())

    3、对数LOG()、LN()

    4、ROUND():指定保留的位数,并对小数进行四舍五入,如果不指定就表示不保留小数    SELECT ROUND(785.652,1) FROM DUAL; 785.7

    5、TRUNC():截取小数,如果不指定小数位就表示,截取小数     SELECT TRUNC(785.65) FROM DUAL ;    785

    6、MOD():取模,表示整除某个数取模    SELECT MOD(10,3) FROM DUAL; 1

    三、日期函数

    1、(SYSDATE:精确到秒;SYSTIMESTAMP:精确到毫秒) :表示当前的系统时间   SELECT SYSDATE FROM DUAL;   

    2、NLS_DATE_FORMAT:通过控制此列控制显示的时间格式

    ALTER SESSION SET NLS_DATE_FORMAT='yyyy-mm-dd hh-mi-ss';

    SELECT SYSDATE FROM DUAL;

    2018-1-15 00:00:00

    4、日期公式

    4.1 日期-数字=日期

    4.2 日期+数字=日期

    4.3日期-日期=数字(天数)

    5、ADD_MONTHS():指定的日期上面加上指定的月数,求出新的日期   SELECT  ADD_MONTHS(SYSDATE,3) FROM DUAL;三个月后面的日期时间   2018-05-24 14:23:28

    6、MONTHS_BETWEEN():求出两个日期期间的月数   SELECT MONTHS_BETWEEN(SYSDATE,ADD_MONTHS(SYSDATE,3)) FROM DUAL;  3

    7、NEXT_DAY():求出下个星期几的日期,1---7表示星期日到星期六,用其他的可能会因为时期和编码发生错误,通用的是阿拉伯数字    SELECT NEXT_DAY(SYSDATE,7)FROM DUAL; 

    8、LAST_DAY :求出指定日期的最后一天日期    SELECT LAST_DAY(SYSDATE) FROM DUAL;

    9、EXTRACT():时间间隔     SELECT EXTRACT(YEAR FROM SYSTIMESTAMP),EXTRACT(MONTH FROM SYSTIMESTAMP),EXTRACT(DAY FROM SYSTIMESTAMP) FROM DUAL;    2018,1,5

    四、转换函数

    1、TO_CHAR():将指定的数据按照指定的格式变成字符串     SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd hh:mi:ss') FROM DUAL;

    2、TO_DATE():将指定的字符串按照指定的格式变成DATE    SELECT TO_DATE('2018-01-5 14:27:30','yyyy-mm-dd hh:mi:ss') FROM DUAL;

    3、TO_NUMBER():将字符串变成数字类型,但是数据库中如果字符串是由数字组成的,会自动的隐式转化为数字类型的  SELECT TO_NUMBER('009')+11 加法计算 from dual   20  

    五、通用函数

    1、NVL():如果判断的列结果是null,返回默认值,如果判断的结果不为null,则显示原值     SELECT NVL(NULL,0) FROM DUAL;0  

    2、NVL2()如果判断的结果不为null,返回结果1,如果判断的结果为null,返回结果2    SELECT NVL2(NULL,结果1,结果2) FROM DUAL;

    3、NULLIF()如果表达式1和表达式2相等返回null,不相等返回1   SELECT NULLIF(1,2) FROM DUAL; 1

    4、DECODE() :类似于if语句,判断列的值,得到相对应的结果     SELECT DECODE(EMP,'1','显示1','2','显示2') empFROM DUAL;      

    5、CASE()类似于case语句 SELECT CASE EMP WHEN '判断1' THEN sal*1.2 WHEN '判断2' THEN sal*1.1 ELSE sal* 1.5 END 新工资;

    6、COALESCE() :如果表达式1为null,判断表达式2,如果表达式2为null,判断表达式3,最后结果返回第一个不为空的表达式     SELECT COALESCE('表达式1','表达式2','表达式3') FROM DUAL;

  • 相关阅读:
    298. Binary Tree Longest Consecutive Sequence
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    163. Missing Ranges
    336. Palindrome Pairs
    727. Minimum Window Subsequence
    211. Add and Search Word
    年底购物狂欢,移动支付安全不容忽视
    成为程序员前需要做的10件事
    全球首推iOS应用防破解技术!
  • 原文地址:https://www.cnblogs.com/zuoyoufengyuan/p/8204625.html
Copyright © 2011-2022 走看看