===================单行函数==========================
1 字符函数
字符大小写转换函数
函数 功能 用法 返回结果
lower() 转换为小写 lower('John Smith') john smith
upper() 转换为大写 upper('John Smith') JOHN SMITH
initcap() 单词首字母大写 initcap('JOHN smith') John Smith 每个单词首字母都改 空格区分一个单词
字符处理
函数 功能 用法 结果
concat() 字符串连接 concat('Hello','World') HelloWorld 也可以连接列
substr() 截取子串 substr('HelloWorld',4,3) low 从1开始数
length() 返回字符串长度 length('Hello World') 11
instr() 定位子串 instr('Hello World','or') 8
lpad() 左侧填充 lpad('Smith',10,'*') *****Smith
rpad() 右侧填充 rpad('Smith',10,'*') Smith*****
trim() 过滤首尾空格 trim(' Mr Smith ') Mr Smith
replace() 替换 replace('Mr Smith and Mr White','Mr','Mrs') Mrs Smith and Mrs White
数值函数
函数 功能 用法 返回结果
abs() 取绝对值 abs(-8.45)
round() 四舍五入 round(3.1415) 3 是会四舍五入的
round(3.1415,3) 3.142
round(314.15,-2) 300
trunc() 截断 trunc(3.1415,3) 3.141 截断
ceil() 向上取整 ceil(3.14) 4
floor() 像下取整 floor(3.14) 3
sign() 判断数值正负 sign(-3.14) -1 零返回0 整数返回1
sin() 三角函数 sin(3.14) .001592653
power() 幂运算 power(4.5,2)
sqrt() 开平方 sqrt(9) 3
mod() 取模运算 mod(10,3) 1 取余 可对小数取模
exp() 基数为e的幂运算 exp(1) 2.71828183
log() 对数运算 log(4,16.0) 4 计算以四为底16的对数
ln() 自然对数运算 ln(7) 1.94591015
日期类型
oracle 内部 存储格式 世纪,年,月,日,小时,分,秒
缺省格式为 dd-mon-yy
可使用sysdate函数取当前系统时间
日期型数据的算术运算
日期型数据可以直接加或减一个数值,结果仍为日期。
两个日期型数据可以相减,结果为两者相差了多少天
函数 功能 用法
add_months(x,y) 计算在日期x基础上增加y个月后的日期 add_months(sysdate,2)
last_day(x) 返回当前日期x当月最后一天的日期 last_day(sysdate)
months_between(x,y) 返回日期x和y之间相差的月数 months_between(sysdate,hiredate)
round(x,y) 讲日期x四舍五入到y所指定的日期单位 round(sysdate,'month') 上半个月从此月1
(月或年) 的第一天 round(sysdate,'year') 号算下半个月从次
月开始算
trunc(x,y) 讲日期x截断到y所指定的日期单位(月 trunc(sysdate,'month')
或年)的第一天 trunc(sysdate,'year')
next_day(x,y) 计算指定日期x后的第一个星期几 next_day(sysdate,'星期二')
(由参数y指定)对应的日期
转换函数
字符串 日期 数字 相互转换
to_number() to_date ()
/ < -- \ / ---> \
/ \ / \
数值型 字符串 date型
\ / \ <-- /
\ --> / \ /
to_char() tochar()
常用日期格式符 =========
格式符 说明 举例
yyyy 年份 2008
mm 用数字显示月份 02
dd 当月的第几天 28
day 星期几 星期五
am/pm 显示上午/下午 上午
hh/hh12/hh24 小时 2:30 14:30
mi 分钟 30
ss 秒钟 46
说明 出此之外 日期模式字符串还可以直接出现 _ : ; / 如果要显示其他文本字符串则需要用双引号
括起来;也可以用模式字符串的开头使用"fm"标记以去掉数字前面的零。例如 'yyyy-mm"月"-dd'
数字.字符串 格式符 =========
格式符 说明
9 表示一位数 高位如果没有,不显示
0 表示一位数,强制显示0 高位如果没有值 强制显示0
$ 放置一个美元符$
L 放置一个本地货币符 看机器环境
. 小数点
, 千位指示符
=============================补充nvl()==========================
NVL(eExpression1, eExpression2) 1为空 返回2值 防止空值出现
trim('h' from 'helloword') 输出结果 ellword 去除前后小 'h'