单行函数

函数:数据库为用户提供的支持,不是标准的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;

 

posted @ 2018-01-05 15:04  左右逢源  阅读(307)  评论(0编辑  收藏  举报