oracle 函数 截取 连接 替换 判断
2024-09-01 06:25:54
一个处理不规范日期的函数,廖记一下吧,以免再忘。
--注意全角半角
CREATE OR REPLACE function f_str2form( date_string in varchar2 ) return VARCHAR2
is
v_dateform VARCHAR2;--声明方式
v_tempStr VARCHAR2;
begin
exit when (nvl(date_string,'') = '');
IF REGEXP_LIKE(t.USE_DATE, '\d{4}-\d{2}-\d{2}|\d{4}\/\d{2}\/\d{2}') THEN --使用if需要使用then
v_dateform := to_date(t.USE_DATE, 'yyyy/mm/dd');--函数中的等于(或者是赋值)用的是:=
RETURN to_char(v_dateform,'yyyy/mm/dd');
ELSE IF REGEXP_LIKE(t.USE_DATE, '\d{1}\/\d\/\d{2}|\d{2}\/\d\/\d{2}') THEN
v_tempStr := substr(l.USE_DATE,instr( l.USE_DATE, '/',),-);--负数倒着截取
v_dateform := ''||v_tempStr||substr(l.USE_DATE,(instr( l.USE_DATE, '/',)-));
RETURN to_char(v_dateform,'yyyy/mm/dd');
ELSE IF REGEXP_LIKE(t.USE_DATE, '\d{1,2}\[月]\d{1,2}\[日]') THEN
v_tempStr := substr(l.USE_DATE,instr( l.USE_DATE, '日'));
v_tempStr := REPLACE(t.USE_DATE,'月','/');
v_tempStr := REPLACE(t.USE_DATE,'日','/');
v_dateform := to_char(sysdate, 'yyyy')||v_tempStr;
RETURN v_dateform;
ELSE
RETURN '';
END IF; --需要使用end if 结束if 并且使用分号结束
END;
最新文章
- PHP中使用cURL实现Get和Post请求的方法
- org.opencv.android.JavaCameraView 摄像机方向的问题
- php中序列化与反序列化在utf8和gbk编码中测试
- Android 获取手机SIM资料详解
- Spring Mvc 笔记二之异常和文件上传
- Linux下Java环境变量设置
- UVA10142/PC110108Australian Voting
- 《python基础教程》笔记之 列表
- Android中部署自己的su
- Unity3DGUI:鼠标click
- int与string的相互转换
- Verify_Execute 验证SQL语句执行结果
- Java WebService 简单实例使用JDK
- 使用Fiddler实现网络限速
- HTML5--Table
- saltstack系统初始化(九)
- VMWARE错误-";VirtualInfrastructure.Utils.ClientsXml";的类型初始值设定项引发异常
- 安全测试===Web 安全渗透方面的学习路线
- flask中cookie和session介绍
- Odoo11 新功能 : 栏位隐藏