您的位置:首页 > 数据库 > Oracle

Oracle(2)

2020-04-05 18:19 1376 查看
Oracle(2)

Oracle中有大量函数:

单行函数(single function)

多行函数(组函数)

 

round(列/值/表达式,小数的有效位数) 表示四舍五入

例:select round(3.1415926,3)from dual;

3.142


trunc(列/值/表达式,小数的有效位数) 直接截取,没有四舍五入

例:select trunc(3.1415926,3)from dual;

3.141


mod(列|值,列|值) 求余数.

select mod(5,2) from dual;


abs(列|值)

select abs(-2) from dual;


length(列|值|表达式) 求长度

select length(first_name) from s_emp;

select length(Hello Would)


upper(列|值|表达式); 全部转换大写

select upper('abc') from dual;


lower(列|值|表达式); 全部转换小写

select lower('abc') from dual;


initcap(列|值|表达式); 首字母大写

select initcap('helloworld') from dual;


查询ben的工资(当给的数据不准确时);

select salary from s_emp wherelower(first_name) = lower('bEn');

 


lpad(列|值,宽度,填充字符) 从左边开始补足

select lpad('abc',10,'de') from dual;

dedededabc


rpad(列|值,宽度,填充字符) 从右边开始补足

select rpad('abc',10,'de') from dual;

abcdededed


ltrim(列|值,截取字符) 从左边截取字符

select ltrim('dedededabc','de') from dual;

abc

表示从左边开始截取de|d|e,直到不同于截取字符的字符为止.

 

rtrim(列|值,截取字符) 从右边截取字符

select rtrim('abcdedede','de') from dual;

abc

表示从右边开始截取de|d|e,直到不同于截取字符的字符为止.


replace(列|值,被置换的字符,置换的字符);


translate (参数一,参数二,参数三);转换指定字符

参数一:要处理的内容,列|值

参数二:要检索的内容

参数三:检索后,与检索内容一一对应替换的内容(如果无替换值,则全部去掉)


instr()查找指定字符串中所在的位置的下标 数字整数从左往右,负数从右往左.

 

substr(列|值,指定位置下标,保留几位)


decode() 类似一个三目运算符 java中:(表达式?a:b)

比较第一和第二个数,如果相等就去第三个数,不相等取第四个函数。

日期函数:

add_months(date1,n) 在date1的基础上加n个月

sysdate,几个月

 

半年前的日期:

select add_months(sysdate,-6) from dual;


半年后的日期:

select add_months(sysdate,6) from dual;


next_day(date1,'星期几') 在date1的基础上,下星期几是什么时候

下周五是那一天

select next_day(sysdate,'星期五') from dual;

下下个星期五是那一天

select next_day(next_day(sysdate,'星期五'),'星期五') from dual;

 

last_day(date1) date1日期所在月的最后一天是什么时候

查询当月月底是几号

select last_day(sysdate) from dual;

查询下个月月底是几号

select last_day(add_months(sysdate,1)) from dual;

Oracle中日期类型是可以减法运算的,结果是两个日期的天数

posted on 2017-12-02 15:10 沈汉学 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/shenhx666/p/7954227.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
diaoxiexi3244 发布了0 篇原创文章 · 获赞 0 · 访问量 145 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: