oracle数字怎么截取 oracle截取后几位数的函数

oracle中trunc的用法简介--Oracle中的trunc()函数是对时间类型或者数字进行截取操作的 。
--trunc(Date)的用法一般有以下几种:
select sysdate from dual
select to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from dual
select trunc(sysdate,'yyyy') from dual --当年的第一天
select trunc(sysdate,'mm') from dual --当月的第一天
select trunc(sysdate,'dd') from dual --当前时间(精确到天)
select trunc(sysdate,'d') from dual --当前星期的第一天
select trunc(sysdate,'hh') from dual --当前时间(精确到小时)
select trunc(sysdate,'mi') from dual --当前时间(精确到分钟,没有精确到秒的)
--trunc(number)的用法一般有以下几种:
select trunc(55.5,-1) from dual ;---1(负数)表示从小数点左边第一位截取后面全置为零;
select trunc(55.55,1) from dual ;--1(正数)表示小数点后面保留一位;
select trunc(55.55) from dual ;--截取整数部分;
oracle正则表达式截取某个字符前的数字/*
正则表达式截取第一个%前面oracle数字怎么截取的数字(不论整数还是小数)oracle数字怎么截?。?然后用replace将%替换掉oracle数字怎么截?。绻厝〉谝淮?3473可以将'[0-9\\.\\0-9] %' 这个%换成‘号’即可
*/
SELECT REPLACE(regexp_substr('这是一串数字23473号这是第二串数字98.65%这是第三串数字245.46%没oracle数字怎么截取了','[0-9\\.\\0-9] %'),'%','') FROM DUAL;
Oracle中有字符数字,截取数字这个最后写个split函数 , 然后取数组的第三个数据 。
CREATE OR REPLACE TYPE mytable AS TABLE OF varchar2(100);
create or replace function split(src varchar2, delimiter varchar2)
return mytable is
psrc varchar2(500);
amytable := mytable();
inumber := 1; --
jnumber := 1;
begin
psrc := rtrim(ltrim(src, delimiter), delimiter);
loop
i := instr(psrc, delimiter, j);
--dbms_output.put_line(i);
if i0 then
a.extend;
a(a.count) := trim(substr(psrc, j, i - j));
j := i1;
--dbms_output.put_line(a(a.count-1));
end if;
exit when i = 0;
end loop;
if jlength(psrc) then
a.extend;
a(a.count) := trim(substr(psrc, j, length(psrc)1 - j));
end if;
return a;
end;
截取ORACLE字符串中的数字可以通过REGEXP_SUBSTR函数(配合正则表达式)来实现 。
举例:
sql:selectregexp_substr('CYJ8-ABC','[0-9] ') from dual;
以上sql执行结果:8;
备注:
REGEXP_SUBSTR函数格式如下:
function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)
__srcstr:需要进行正则处理的字符串
__pattern:进行匹配的正则表达式
__position:起始位置,从第几个字符开始正则表达式匹配(默认为1)
__occurrence :标识第几个匹配组 , 默认为1
__modifier:模式('i'不区分大小写进行检索;'c'区分大小写进行检索 。默认为'c' 。)
oracle中截取一个字符串中的数字怎么做?如果Oracle版本不是太低的话,使用 正则表达式函数 REGEXP_SUBSTR 处理 。\x0d\x0a\x0d\x0a5个参数\x0d\x0a第一个是输入的字符串\x0d\x0a第二个是正则表达式\x0d\x0a第三个是标识从第几个字符开始正则表达式匹配 。(默认为1)\x0d\x0a第四个是标识第几个匹配组 。(默认为1)\x0d\x0a第五个是是取值范围:\x0d\x0ai:大小写不敏感;\x0d\x0ac:大小写敏感;\x0d\x0an:点号 . 不匹配换行符号;\x0d\x0am:多行模式;\x0d\x0ax:扩展模式,忽略正则表达式中的空白字符 。\x0d\x0a\x0d\x0aSQL SELECT\x0d\x0a 2REGEXP_SUBSTR(a,'[0-9] ')\x0d\x0a 3FROM\x0d\x0a 4test_reg_substr\x0d\x0a 5WHERE\x0d\x0a 6REGEXP_LIKE(a, '[0-9] ');
【oracle数字怎么截取 oracle截取后几位数的函数】关于oracle数字怎么截取和oracle截取后几位数的函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读