Oracle数据库(二、函数)

  1 oracle自带函数,可以大大提高select语句操作数据库的能力
  2 
  3   常用的字符函数:
  4 
  5     函数名                  功能        示例             结果
  6 
  7     initcap(char)              首字符大写    initcap('hello')            Hello
  8 
  9     lower(char)                转换为小写    lower('FUN')               fun
 10 
 11     upper(char)                 转为大写        upper('sun')          SUM
 12 
 13     ltrim(char,set)              左剪裁    ltrim('xyzadams','xyz')         adams
 14 
 15     rtrim(char,set)              右剪裁    rtrim('xyzadams','adams')     xyz
 16 
 17     translate(char,from,to)         按字符翻译  translate('jack'.'abcd','1234')    j13k
 18 
 19     replace(char,search_str,replace_str)    字符替换   replace('jack and jue','j','bl')    black and blue
 20 
 21     instr(char,substr[,pos])          查找子串位置  instr('adbcefg','d')        2
 22 
 23     substr(char,pos,len)           取子字符串    substr('abcdefg',3,2)      cd
 24 
 25     concat(char1,char2)        连接字符串(只能连接两个)    concat('Hello','world')      Helloworld
 26 
 27     使用   ||  也可以拼接字符串  SELECT '工号为'||FNumber||'的员工姓名为'||FName FROM T_Employee WHERE FName IS NOT NULL 
 28 
 29   常用的数值函数:
 30 
 31     函数名          功能        示例        结果
 32 
 33     abs(n)          取绝对值      abs(-15)      15(负数的绝对值也是正数)
 34 
 35     ceil(n)          向上取整      ceil(44.778)      45
 36 
 37     floor(n)          向下取整      floor(100.2)      100
 38 
 39     power(m,n)        m的n次幂      power(4,2)      16
 40 
 41     mod(m,n)           取余数       mod(10,3)      1
 42 
 43     round(m,n)        四舍五入       round(100.256,2)  100.26
 44 
 45     trunc(m,n)        截断        trunc(100.256,2)    100.25
 46 
 47     sqrt(n)          平方根        sqrt(4)        2      
 48 
 49   常用的转换函数:
 50 
 51     函数名          功能          示例                  结果
 52 
 53     to_char         转换为字符串类型    to_char(1234.5,'$9999.9')        $1234.5
 54 
 55     to_date        转化成日期类型     to_date('2012-01-09','yyyy-mm-dd')     09-01-21
 56 
 57     to_number      转换成数值类型      to_number('1234.5')           1234.5
 58 
 59   常用的日期函数:
 60 
 61     函数名             功能          示例                        结果
 62 
 63     months_between    返回两个日期间的月份    months_between('04-11月-05','11-1月-01')        57.7741935
 64 
 65     add_months    返回把月份数加到日期上的新日期    add_months('06-2月-03',1)                06-3月-03
 66 
 67     next_day     返回指定日期后的星期对应的新日期   next_day('06-2月-03','')                10-2月-03
 68 
 69     last_day      返回指定日期所在的月的最后一天  last_day('06-2月-03')                  28-2月-03
 70 
 71     round       按指定格式对日期进行四舍五入    round(to_date('13-2月-03'),'year')          01-1月-03
 72 
 73                                 round(to_date('13-2月-03'),'month')          01-2月-03
 74 
 75                                 round(to_date('13-2月-03'),'day')          16-2月-03
 76 
 77     trunc      对日期按照指定方式进行截断      trunc(to_date(06-2月-03),'year')            01-1月-03
 78 
 79                                trunc(to_date(06-2月-03),'month')            01-2月-03
 80 
 81                                trunc(to_date(06-2月-03),'day')            02-2月-03
 82 
 83   常用的其他函数:
 84 
 85     nvl(exp1,exp2)    如果exp1的值为null,则返回exp2的值,否则返回exp1的值
 86 
 87     nvl(exp1,exp2,exp3)  如果exp1的值为null,则返回exp2的值,否则返回exp3的值
 88 
 89     decode(value,if1,then1,if2,then2,if3,....else)   如果value的值为if1,则返回then1的值,如果value的值为if2,则返回then2的值,。。。。否则返回else的值
 90 
 91   常用的多行函数:
 92 
 93     sum()    求和      select sum(love) from pet;
 94 
 95     avg()    求平均值     select avg(health) from pet where master_id = 1;
 96 
 97     count()   计数       select count(type_id) from pet;
 98 
 99     max()    求最大值     select max(adopt_time) from pet;
100 
101     min()    求最小值     select min(adopt_time) from pet;
102 
103   外连接查询时:可以使用 where ....(+)写法代替。
104 
105     select * from user u left join role r on u.id = r.id ;
106 
107   也可以使用
108 
109     select * from user u inner join role r on u.id = r.id(+);

 

转载于:https://www.cnblogs.com/in-the-game-of-thrones/p/11346150.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值