2.格式化数字(to_char()函数)
select to_char(1210.73, '9999.9') from dual;
select to_char(1210.73, '9,999.99') from dual;
select to_char(1210.73, '$9,999.99') from dual;
select to_char(21, '000099') from dual;
to_char函数特殊用法
select sysdate from dual;
select to_char(sysdate,'d') from dual;
select to_char(sysdate,'dd') from dual;
select to_char(sysdate,'ddd') from dual;
select to_char(sysdate,'ww') from dual;
select to_char(sysdate,'mm') from dual;
select to_char(sysdate,'q') from dual;
select to_char(sysdate,'yyyy') from dual;
3.查找指定字符所在位置(instr()函数)
instr函数返回要截取的字符串在源字符串中的位置。
语法如下:
instr( string1, string2 [, start_position [, nth_appearance ] ] )
参数说明:
string1 源字符串,要在此字符串中查找。
string2 要在string1中查找的字符串.
start_position 代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
nth_appearance 代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
注意:
如果String2在String1中没有找到,instr函数返回0.
select instr('abc','a') from dual;
select instr('abc','bc') from dual;
select instr('abc abc','a',1,2) from dual;
select instr('abc','bc',-1,1) from dual;
select instr('abc','d') from dual;
注:也可利用此函数来检查String1中是否包含String2,如果返回0表示不包含,否则表示包含。
转载自:http://www.cnblogs.com/toowang/p/3781480.html1.处理小数点位数的几个oracle函数():1.取四舍五入的几位小数select round(1.2345, 3) from dual;结果:1.2352. 保留两位小数,只舍select trunc(1.2345, 2) from dual;结果:1.23select trunc(1.2399, 2
round(45.926,2)---将前一数保留
指定
的小数位,并四舍五入(45.93),假如
指定
位是负数则意为在
小数点
左边保留
指定
位,如round(45.923,-1)=50,rount(45.923,0)=46,round(45.93,-2)=0,round(55.93,-2)=100
trunc(45.926,2)---同上,得不四舍五入(45.92)
mod(1600,300)---求余...
工作中遇到的
Oracle
数据库字段
格式化
问题,在此记录
保留两位小数主要分为两种情况:
1.
数字
保留两位小数;(
小数点
左侧
数字
可能比较大,比如1234567890.12)
2.百分比保留两位小数;(
小数点
左侧
数字
数字
小于等于100,比如98.76%)现针对
Oracle
数据库做以下示例:在开始之前,先介绍一下
Oracle
函数
大全中的转换
函数
to_char( )TO_CHAR(x[[,c2],C3
一、ROUND(A/B,2)
函数
ROUND()
函数
是会将计算结果进行四舍五入的,如果所需要的值需要进行四舍五入,就可以选择这个
函数
,可以有一个参数,也可以有两个参数;如果有两个param,第一个是你的计算表达式,第二个是需要保留的小数
位数
。例子如下:
SELECT ROUND(2/3, 2) RESULT FROM DUAL
二、TRUNC(A/B,2)
函数
TRUNC()
函数
是不会将计算结果进行四舍五入的,如果所需要的值不需要进行四舍五入,就可以选择这个
函数
,可以有一个参数,...
功能: 计算截尾到y位小数的x值. y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到
小数点
左边对应的位上.trunc(sysdate)=to_date('20121231','yyyymmdd') 。
trunc
函数
可用于截取日期时间
用法:trunc(字段名,精度)
具体实例:
在表table1中,有一个字段名
你可以使用
Oracle
的 INSTR
函数
来
查找
字符
串中的
数字
。INSTR
函数
用于返回一个
字符
串中
指定
子
字符
串的位置。
下面是使用 INSTR
函数
查找
字符
串中的
数字
的示例:
```sql
SELECT INSTR('abc123def456', '123') AS position
FROM dual;
这将返回
数字
"123" 在
字符
串 "abc123def456" 中的位置,结果为 4。
如果你要
查找
字符
串中所有的
数字
,你可以使用正则表达式配合 INSTR
函数
来实现:
```sql
WITH data AS (
SELECT 'abc123def456' AS str FROM dual
SELECT REGEXP_SUBSTR(str, '[[:digit:]]+', 1, LEVEL) AS number
FROM data
CONNECT BY LEVEL <= REGEXP_COUNT(str, '[[:digit:]]+');
这将返回
字符
串 "abc123def456" 中的所有
数字
,结果为 "123" 和 "456"。
希望这个回答能够帮助到你!如果你还有其他问题,请随时提问。