Oracle 单行函数之字符、数值和日期函数

字符函数

字符函数的操作队形就是字符串 ,常用的字符函数有 lowerupperinitcap 怎么用的给大家说一下:

还有字符串截取函数 substr()

可以一有两个值,也可以有三个值

substr(a, b)     :从a中,第b位开始取(计数从1开始),取到结尾

substr(a, b, c) :从a中,第b位开始,向右取c位。

统计字符串字节数函数 length( )

需要注意的是字节数中英文是有差异的。中文GBK编码的 一个汉字是两个字节,UTF-8编码的一个汉字是3个字节

字符串查找函数 instr( )

在母串中查找子串, 找到返回下标,计数从1开始。没有返回0

字符填充函数:  lpad 左填充 和 rpad右填充

三个参数分别是:1:待填充的字符串,参2:填充后字符串的总长度(字节), 参3:填充什么

去除指定字符串函数 trim()

去掉指定的字符, 注意语法:在两个参数之间有一个from 关键字

字符串替换函数 replace( )

这个函数的功能很明了直接看怎么用吧

数值函数

常用的数值函数有  round:四舍五入    trunc:截断     mod:求余  这么几个

四舍五入函数 round( )

round(45.926, 2)   2表达的含义是保留两位小数,第二个参数如果是0可以省略不写。

截断函数 trunc()

直接将指位置后门的数值舍弃,和 round函数用法相同

求余函数 mod()

时间函数

在oracle中日期类型的数据,既有日期部分也有时间部分,可以使用 select sysdate from dual;  查看当前时间,由于oracle的默认格式是只有日期没有时间的,所以只能看到日期。可以使用 to_char 函数来指定时间输出格式:

sysdate是Oracle自带的系统变量,可以对日期进行加减操作,得到的结果仍未日期,单位是: 天 。既然一个日期型的数据加上或者减去一个数字得到的结果仍为日期,两个日期相减,得到的就是相差的天数。

sysdate 今天

sysdate+1 明天

sysdate-1 昨天

特别注意:日期和日期之间是不能相加的,只能相减。日期只能和数字相加!

由于日期的特性:一个月有28天、29天、30天、31天 不等的情况,要想精确计算两个日期之间相差几个月就要使用oracle给提供的一些日期函数了

计算两个日期间相差的月份 months_between()

计算几个月后是哪年、哪月、哪天 add_months()

这个函数的主要的作用就是在某个日期值上 加上多少个月 (如果加的是正数就向后计算,如果是负数就向后计算)后  是是哪年、哪月、哪天

计算日期所在月的最后一天 last_day()

LAST_DAY函数返回指定日期对应月份的最后一天

计算下一个日期(如:星期一,星期六等)的时间 netx_day()

当然结合上面学的函数,我们还可以使用 roundtrunc 对日期型数据进行四舍五入和截断

select round(sysdate, ‘month’), round(sysdate, ‘year’) from dual ;

select trunc (sysdate, ‘month’), round(sysdate, ‘year’) from dual;

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注