函数分类

数值函数
  • abs 绝对值

  • round 四舍五入并保留几位小数 round(45.252,1) =45.3

  • trunc 截断并保留几位小数 trunc(45.252,1) = 45.2

  • sqrt 平方根

  • power 幂指数 power(2,3) 求的2的3次幂

  • cos 求余弦

字符函数
  • ascii 获取资费的ascii玛值

  • chr 返回与ascii值相符的字符

  • lower 将字符串转化为小写

  • upper 将字符串转化为大写

  • initcap 将字符串转化为每个单词大写字母开头 initcap('SQL COURSE') 结果 Sql Course

  • concat 链接两个字符串

  • substr 截取字符串

  • length 获取字符串长度

  • instr 给出起始位置和出现次数,求子字符串出现的位置 instr('String' ,r,1,1) 结果为3

  • lpad 从左到右用指定字符给字符串填充指定长度 lpad('hi',10,'-') 结果为 --------hi

  • rpad 从右到左用指定字符给字符串填充指定长度 rpad('hi',10,'-') 结果为 hi --------

  • trim 从字符串的首位中出去另一个字符串 trim(‘s' from 'ssmsiths') 结果为 msith, 注意只能是首尾

  • replace 用一个字符串替换另一个字符串的子字符串 replace ('ABC','B','D') 结果为 ADC

日期函数

oracle中缺省时间格式为 dd-mm-yyyy 。 1)对日期的值加减一个天数,得到新的日期。2)对两个日期相减得到相隔天数。3)通过加小时来增加天数,24小时为1天,如12小时可以写成12/24(或0.5)

  • sysdate 返回系统日期和时间

  • month_between 返回两个日期间的月数

  • add_months 把日期增加月数返回新的日期

  • next_day 返回指定日期后的星期对应的日期 next_day(31-5月-23,’星期1‘) 结果为 ‘5-6月-23’

  • last_day 返回指定日期月的最后一天的新日期 last_day(1-6月-23,’星期1‘) 结果为 ‘30-6月-23’

  • round 按指定格式对日期进行四舍五入 ,过半才升,否则就舍

    round(to_date('1-6月-23'),’YEAR‘) 结果为 1-1月-23, round(to_date('1-7月-23'),’YEAR‘) 结果为 1-1月-24

    round(to_date('15-6月-23'),’month‘) 结果为 1-6月-23, round(to_date('16-6月-23'),’month‘) 结果为 1-7月-23

    round(to_date('7-6月-23'),’day‘) 结果为 4-6月-23, round(to_date('8-6月-23'),’day‘) 结果为 11-6月-23 按周四舍五入

  • trunc 按指定格式对日期进行截断

    trunc(to_date('1-7月-23'),’YEAR‘) 结果为 1-1月-24

    trunc(to_date('30-6月-23'),’month‘) 结果为 1-6月-23, trunc(to_date('1-6月-23'),’month‘) 结果为 1-6月-23

    trunc(to_date('10-6月-23'),’day‘) 结果为 4-6月-23, trunc(to_date('11-6月-23'),’day‘) 结果为 11-6月-23 按周截断

     

转换函数

数值型,字符型,日期型 间的互相转换

  1. 自动转换:1)字符串到数值。2)字符串到日期。3)数值到字符串。4)日期到字符串

  2. 日期类型转换:YYYY-MM-DD HH24:MI:SI 表示 年-月-日 小时:时-分-秒

  3. 日期格式转换成字符串的字符意义 相关表

代码代表格式举例
AM,PM 上午,下午 08 AM
D 数值表示的星期(1~7) 1,2,3,4,5,6,7
DD 表示月中的日期 1~31
MM 两位数月份 01,02,.....12
Y,YY,YYY,YYYY 年份的后几位 3,23,023,2023
RR 解决Y2K的年度转换问题  
DY 简写的星期名 mon,tue,fri,.........
DAY 全拼的星期名 monday,tuesday,friday
MON 简写的月份名 JAN,FEB,..........
MONTH 全拼的月份名 JANUARY,FEBRUARY,.....
HH,HH12 12小时制(1~12) 1,2,...12
HH24 24小时制(1~24) 0,1,2,...23
MI 分(1...60)  
SS 秒(1..60)  
-/:; 这些符号原样显示 -/:;
TEXT 双引号的中的文本原样显示 to_char(sysdate,'yyyy"年"mm"月"dd"日")结果2023年5月31日
  • to_char 转换成字符类型

  • to_date

  • to_number

  1. 数字转换符相关表

代码代表格式举例
9 代表一位数字如果是正数前面是空格,如果是负数前面是-号 9999
0 代表一位数字如果在相应的位置上没数字则出现0 0000
, 逗号,用作分隔符 99,9999
. 小数点,分割整数和小数 99.99
$ $货币符号 $999
L 本地货币符号 L999
FM 去掉前后的空格 FM999.99
EEEE 科学技术法 9.9EEEE
S 负数符号-放在开头 S999.9
  1. 其他函数

oracle 还有些其他函数 nvl(去空函数)和decode

代码代表格式举例
nvl 空值转换函数  
decode 实现分支功能 decode(1,1,'小','大') 结果为小
userenv 返回环境信息 userenv("LANGUAGE") 返回语言环境信息
greatest 返回参数最大值 greatest(1,3,33,5,6,7,)=33
least 返回参数的最小值 least(1,3,33,5,6,7,)=33
posted @   翻滚的小井蛙  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示