SQL学习笔记――Oracle常用函数

匿名 (未验证) 提交于 2019-12-03 00:21:02
1.SUBSTR(string,start,count) 截取子字符串,从start开始,取count个,返回截取的字符串
参数:
string:原字符串;
start:截取开始位置;
count:截取长度
例:

STR
-----
bcdef

2.UPPER(str) 返回字符串,并将所有的字符大写
例:

STR
-----------
ABCDEFGHIJK

3.LOWER(str) 返回字符串,并将所有的字符小写
例:

STR
-----------
abcdefghijk

4.FLOOR(n) 对给定的数字取整数(取小于等于数值n的最大整数)
例:


----------


5.CEIL(n)
例:


----------


6.ROUND(number,[decimal_places]) 按照指定的精度进行舍入
参数:
number : 欲处理之数值
decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 )
例:


----------


7.SIGN(n)取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
例:
SQL> select SIGN(100) as num1,SIGN(0) as num2,SIGN(-100) as num3 from dual;

---------- ---------- ----------


8.decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)











例如:


(当然值1,值2,值3也可以是表达式)

DE
----
正数

9.ADD_MONTHS(times,months)
SQL> select add_months(sysdate,6) from dual;
ADD_MONTHS(SYSDATE,6)
---------------------
2018/11/25 18:48:33
SQL> select add_months(sysdate,-6) from dual;
ADD_MONTHS(SYSDATE,-6)
----------------------
2017/11/25 18:49:09

10. 用来得到系统的当前日期

DT
--------------------
25-05-2018 星期五

11.TO_CHAR(date,'format') 日期格式转换
TO_CHAR(number,'format'); 数字格式转换

to_char(4567,'xxxx');进制转换:将10进制转换为16进制
例:
SQL> select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') as s_time from dual;
S_TIME
-------------------
2018-05-25 19:00:08

NUM
---------------------

SQL> select TO_CHAR(123,'$99,999.9') as salary from dual;
SALARY
----------

SQL> select to_char(7896,'xxxx') from dual;
TO_CHAR(7896,'XXXX')
--------------------


12.TO_NUMBER(string[,format])将字符串转换为数字数据类型
例:

TO_NUMBER('12345')
------------------

SQL> select to_number('$12345.678', '$999999.999') as num from dual;

----------


TO_NUMBER('19F','XXX')
----------------------

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!