函数分类
-
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)字符串到数值。2)字符串到日期。3)数值到字符串。4)日期到字符串
-
日期类型转换:YYYY-MM-DD HH24:MI:SI 表示 年-月-日 小时:时-分-秒
-
日期格式转换成字符串的字符意义 相关表
代码 | 代表格式 | 举例 |
---|---|---|
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
-
数字转换符相关表
代码 | 代表格式 | 举例 |
---|---|---|
9 | 代表一位数字如果是正数前面是空格,如果是负数前面是-号 | 9999 |
0 | 代表一位数字如果在相应的位置上没数字则出现0 | 0000 |
, | 逗号,用作分隔符 | 99,9999 |
. | 小数点,分割整数和小数 | 99.99 |
$ | $货币符号 | $999 |
L | 本地货币符号 | L999 |
FM | 去掉前后的空格 | FM999.99 |
EEEE | 科学技术法 | 9.9EEEE |
S | 负数符号-放在开头 | S999.9 |
-
其他函数
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 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!