Oracle内置函数内容整理

--绝对值
select abs(-100) from dual;

--取余
select mod(8,3) from dual;

--取整,大于该数的最小整数(上限值)
select ceil(12.0) from dual;
select ceil(12.5) from dual;

--取整,小于该数的最大整数(下限值)
select floor(12.5) from dual;

--四舍五入,选择需要保留的小数位
select round(12.456,0) from dual;

--截取小数,输入需要保留的小数位数,最多保留最大长度,也可取整
select trunc(12.456,1) from dual;

--截取长度
select length(‘abcdefg‘) from dual;
select xingm,length(xingm) from t_hq_ryxx;

--截取字符串,第1个数为截取位置,正数从做开始算,负数从右边开始算,第二个数为截取长度,截取位置超过字符长度的为空
select xingm,substr(xingm,0,1) from t_hq_ryxx;

--字符串连接
select concat(‘ab‘,concat (‘cd‘,‘efg‘)) from dual;
select ‘ab‘ || ‘cd‘ || ‘efg‘ from dual;

--查找,可以指定起始位置
select instr(‘abcdefg‘,‘d‘) from dual;
select instr(‘adcdefg‘,‘d‘,1) from dual;
select instr(‘abcdefg‘,‘h‘) from dual;

--转换大小写,首字母转换大写
select upper(‘assa‘),lower(‘ASDF‘) from dual;
select upper(‘assa‘),lower(‘ASDF‘), initcap(‘this is a test‘) from dual;

--替换
select replace(‘abcdefg‘,‘ab‘,‘123‘) from dual;
--update t_hq_ryxx set xingm = replace(xingm,‘额‘,‘阿‘) where xingm like ‘额%‘;

--填充,没有的用空格填充,从往有填充,往左填充
select rpad(‘aa‘,8,‘c‘) from dual;
select lpad(‘aa‘,8) from dual;

--去空格
select trim (‘ abcde ‘) from dual;
--去右边的空格
select rtrim (‘ abcde ‘) from dual;
--去首部字符
select trim (leading ‘a‘ from ‘aabcde ‘) from dual;
--去后部字符
select trim (trailing ‘a‘ from ‘aabcdea‘) from dual;
--去前后字符
select trim (both ‘a‘ from ‘aabacdea‘) from dual;

--当前系统时间
select sysdate from dual;
--修改当前月份
select add_months(sysdate,-2) from dual;
--取月份的最后一天,修改天数
select last_day(sysdate)+1 from dual;

--转换函数
select cast(‘123‘ as number) +123 from dual;
select cast(123 as varchar2(3)) + 147 from dual;
select ‘123‘ +123 from dual;
select to_char(sysdate,‘yy-dd-mm‘) from dual;
select to_char(sysdate,‘yyyy-dd-mm hh24:mi:ss‘) from dual;
--四舍五入
select to_char(123.456,‘999.9‘) from dual;
--转换日期
select to_date(‘2015-12-23 04:13:25‘,‘yyyy-mm-dd hh24:mi:ss‘) +1 from dual;

update t_hq_ryxx set ruzrq = to_date(‘24-10-2015‘,‘dd-mm-yyyy‘) where bianh = 107;

select * from t_hq_ryxx where ruzrq > to_date(‘2015-10-22‘,‘yyyy-mm-dd‘);

--转换数字格式
select to_number(‘123.456‘,‘999.999‘) from dual;

--null函数
--select nvl(nianl,54) from t_hq_ryxx;
--非空的替换成20,空值为1000
--select nvl2(nianl,20,1000) from t_hq_ryxx;
--空值替换成0
--select nvl(nianl,0) + gongz from t_hq_ryxx

--提出符合条件的内容
select * from t_hq_ryxx where lnnvl(nianl > 20);

时间: 2024-12-22 22:48:40

Oracle内置函数内容整理的相关文章

oracle 内置函数(一)数值函数

oracle内置函数主要分为四类: 数值函数 字符函数 日期函数 转换函数 本分析数值函数: 一.四舍五入round round(double,m) double:我们要处理的小数. m: default:在不填写的情况下默认为0,也就是取整: m>0:四舍五入小数点后m位: m<0:四舍五入小数点前m位. example: 二.取整 ceil:向上取整 floor:向下取整 三.常用计算 1.abs:取绝对值  2.mod:取余(除取模)任意参数为null返回null 3.power:幂函数

ORACLE 内置函数之GREATEST和LEAST

Oracle比较一列的最大值或者最小值,我们会不假思索地用MAX和MIN函数,但是对于比较一行的最大值或最小值呢?是不是日常用的少,很多人都不知道有ORACLE也有内置函数实现这个功能:COALESCE / GREATEST / LEAST. 1. COALESCE 返回该表达式列表的第一个非空value. 格式: COALESCE(value1, value2, value3, -) 含义: 返回value列表第一个非空的值. value列表必须是相同类型,也可以是一个表的同一行.不同列的值进

Oracle内置函数大全(转)

SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A         A      ZERO     SPACE--------- --------- --------- ---------65        97        48        32 2.CHR 给出整数,返回对应的字符;SQL> selec

【转】oracle内置函数 trunc 使用

原文链接 http://blog.csdn.net/oscar999/article/details/16839417 前言 trunc 是 truncate 的简写. 中文翻译是 “截断”或 “截短”. 表面看上去,应该是对字串或是数字进行截取. 实际上这个函数有两种用法, 而且这两种用法看上去很不一样. 1. 对 number 类型使用.其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去. 2. 对日期类型使用. 对 number 类型使用

Oracle 内置函数

SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A         A      ZERO     SPACE--------- --------- --------- ---------65        97        48        32 2.CHR 给出整数,返回对应的字符;SQL> selec

Oracle内置函数SQLCODE和SQLERRM的使用

在我们写proc程序中经常要有错误处理,在错误处理中我们经常要输出错误信息来给帮助我们分析和解决错误原因,从而更正数据.这时候就会用到SQLCODE和SQLERRM. SQLCode:数据库操作的返回码,其中0表示成功:-1表示失败:100表示没有检索到数据:+1表示用户自定义异常. sqlerrm函数 sqlerrm函数返回指定错误代码的错误信息. 一个Oracle的错误消息最多只能包含512个字节的错误代码.如果没有异常被触发,则SQLCODE返回0,SQLERRM返回"ORA-0000:n

oracle 内置函数(二)字符函数

主要函数: 大小写转换函数 获取子字符串函数(字符串截取) 获取字符串长度函数 字符串连接函数 去除子字符串函数 字符替换函数 一.大小写转换 1.upper:转大写 2.lower:转小写  3.initcap:首字母大写 二.获取子字符串函数(字符串截取) substr(str,beginIndex,endIndex) str:需要处理的字符串 beginIndex:开始截取下标位置,>0时从头部开始数下标,<0时从尾部数下标. endIndex:结束下标. 三.获取字符串的长度 leng

oracle 内置函数(三)日期函数

日期函数概要: 系统时间 日期操作 一.系统时间 sysdate:还是西方的格式,我们一般需要to_char(date,'yyyy-mm-dd hh24:mi:ss') next_day:当前日期的下一个礼拜几的日期 example:求当前时间的下一个礼拜一的日期: last_day(date):取当前时间的月的最后一天:用于判断当前月28.29.30.31天 months_between:求两个时间的月份差 extract:分别获取当前时间的年.月.日

Oracle内置函数

--数字型函数select abs (-100) from dual;--绝对值 select mod (10,3) from dual;--求模 select ceil (12.5) from dual;--取上限整数 select floor (12.5) from dual;--取下限整数 select round (12.46327,3) from dual;--四舍五入,逗号后数字表示精度 select trunc (12.455,1) from dual;--截取,逗号后数字表示精度