Oracle单行函数用法

时间:2023-03-08 20:22:38

单行函数分为五种类型:字符函数、数值函数、日期函数、转换函数、通用函数。

1.字符函数:

  对于输入的字符转换为需要转为的字符或数值。

  upper()大写

--小写字母转为大写字母

  Oracle单行函数用法

  --对于表指定的字符转大写

  Oracle单行函数用法

  --对于指定列字符转大写

  Oracle单行函数用法

  lower() 大写字母转小写

  --大写字母转小写

  Oracle单行函数用法

  --对指定的值转小写

  Oracle单行函数用法

  

  INITCAP()

  第一个字母转为大写

  Oracle单行函数用法

  --表一列首字母转为大写

  Oracle单行函数用法

  concat() 和  ||

  拼接字符串

  --将两个字符拼接起来

  --使用concat()

  Oracle单行函数用法

  --使用  ||

   Oracle单行函数用法

  ---拼接实例

  select 列  ||  列  from employees;

  select concat(列,列)   from employees;

  Oracle单行函数用法

  substr()  字符串截取

  用法:substr(字符串,第几位开始截取,截取的长度)。

  在Oracle数据库中substr的截取的开始点在第0位和第1位都是一样的效果。在实际应用程序开发中需要注意。

  ---从第一位字符开始截取两位字符

  Oracle单行函数用法

  ---例:截取英文名的三位,正序截取和倒序截取,倒序使用负号 -

    从前往后截取

  Oracle单行函数用法

    从后往前截取

  Oracle单行函数用法

  

  length()  字符串长度

  --计算字符串长度

  Oracle单行函数用法

  replace() 替换

  用法:replace(原字符,要替换的原字符或单个字符,替换后的字符)

  --把指定的字符替换

  Oracle单行函数用法

2.数值函数

  round() 四舍五入

  用法:round(数值,截取长度)

  --默认在小数第一位四舍五入

  Oracle单行函数用法

  --四舍五入到截取小数点后三位小数

  Oracle单行函数用法

  --整数位四舍五入,指定截取位置的参数为负数

  Oracle单行函数用法

  trunc() 截断小数

  用法:trunc(数值,截取长度)

  截取掉小数位,不进行四舍五入过程。

  --截取的小数之后的位置

  Oracle单行函数用法

  --指定截取长度,但不会四舍五入

  Oracle单行函数用法

  ---截取的位数是负数

  Oracle单行函数用法

  

  mod()  取余

  用法:mod(除数,被除数)

  Oracle单行函数用法

3.日期函数

  sysdate  查询当前日期

  Oracle单行函数用法

  

  日期-数字=日期

  日期+数字=日期

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

  --求入职天数   

   Oracle单行函数用法

    可以使用trunc截断小数取整

   Oracle单行函数用法

  last_date( )  本月的最后的一天

  Oracle单行函数用法

  add_months( )

  语法:add_months(日期字段,数值)

  数值是查询从当天日期开始,查询前几个月的今天用负数,查询后几个月的用正数。

  Oracle单行函数用法

  Oracle单行函数用法

  ---查询表入职日期加俩月

  Oracle单行函数用法

  months_between( )

  语法:months_between( 对比的日期,指定日期),

   指定的日期小于对比的日期查询结果为正数,反之为负数。

  查询对比日期与指定日期相差月数

  Oracle单行函数用法

  --查询s_date入职日期到2020年相差几个月

  Oracle单行函数用法

  next_day( )

   语法:next_day(指定日期,指定日期下周的第一天)

    Oracle单行函数用法

    

    Oracle单行函数用法

    current_date

      返回当前查询窗口的日期

     Oracle单行函数用法

    current_timestamp()

    返回的日期和时间是根据时区转换过的日期

    Oracle单行函数用法

    拓展:

        使用current_timestamp时候,在数据发生变化时,字段将会更新为系统时间

        Oracle单行函数用法

    dbtimezone

    返回时区

      Oracle单行函数用法

    extract()

      查找日期字段值

      Oracle单行函数用法

    localtimestamp

     返回会话中的日期

    Oracle单行函数用法

     Y或YY或YYY或YYYY,  M 或MM , D 或DD

    返回日期最后几位

    Oracle单行函数用法

    Oracle单行函数用法

    

    syear转换

       日期转换

     Oracle单行函数用法

     Q

      Q 返回当前日期所在的季度       

      Oracle单行函数用法

    RM

     返回罗马数字月份

    Oracle单行函数用法

    Month

       返回当前月份

      Oracle单行函数用法

    WW

      返回当前处于第几周

      Oracle单行函数用法

    W

      查询当前处于本月第几周

    Oracle单行函数用法

    DDD

      查询处于当年第几天

      Oracle单行函数用法

    DD

    查询处于当月第几天

    Oracle单行函数用法

    D

     查询处于本周第几天

      Oracle单行函数用法

    DY

     查找周内第几日

     Oracle单行函数用法

    HH或HH24

      小时,HH默认12小时制,HH24为24小时制。

      Oracle单行函数用法

    MI

      分钟

    --查询当前第几分钟

    Oracle单行函数用法

   SS

    秒

    Oracle单行函数用法

4.转换函数

to_char() 转换成字符串

  Oracle单行函数用法

   

    日期格式转换 

Oracle单行函数用法

 to_number ()   字符转换成数字

  

  Oracle单行函数用法

to_date()  字符串转换成日期

    年:YYYY, 月:MM ,  日 :DD,时:HH24 , 分:MI  ,秒 :SS

    

5.通用函数

  NVL() 函数,数值出现null(空)情况 。

  Oracle单行函数用法

  decode()函数

    类似用法:  if....else或 case……when ……then  ……end

  用法:decode(列/表达式,值1,结果1,值2,结果2……)

Oracle单行函数用法

Oracle单行函数用法