sql 工具类function
2024-10-10 10:26:31
--判断是否为整数
create or replace function is_number(param VARCHAR2) return NUMBER is
v_num NUMBER;
begin
v_num := to_number(NVL(param,'a'));
RETURN 0;
EXCEPTION
WHEN OTHERS THEN
RETURN 1;
end is_number; --判断是否为日期类型
create or replace function is_date(param VARCHAR2) return NUMBER is
v_date Date;
begin
v_date := TO_DATE(NVL(param, 'a'), 'yyyy-mm-dd hh24:mi:ss');
RETURN 0;
EXCEPTION
WHEN OTHERS THEN
RETURN 1;
end is_date; --去除空格
create or replace function getStringValue(text IN varchar2) RETURN varchar2 IS
begin
RETURN to_single_byte(replace(text, ' ', '')) ;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN '';
WHEN OTHERS THEN
RETURN '';
end getStringValue; ----
create or replace function getWzkf(wzkf IN varchar2) RETURN varchar2 IS
v_wzkf varchar2(10) ;
begin
--去掉去掉两头空格
v_wzkf := ltrim(rtrim(wzkf)) ;
IF v_wzkf = '无'
THEN
SELECT REPLACE(v_wzkf,'无','0') into v_wzkf FROM dual;
ELSIF v_wzkf = '/'
THEN
SELECT REPLACE(v_wzkf,'/','0') into v_wzkf FROM dual;
ELSIF v_wzkf IS NULL
THEN
v_wzkf := '0' ;
ELSE
SELECT REPLACE(v_wzkf,'分','') into v_wzkf FROM dual;
END IF;
RETURN v_wzkf ;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN '';
WHEN OTHERS THEN
RETURN '';
end getWzkf; ---
create or replace function specDate(wzkf IN varchar2) RETURN varchar2 IS
v_wzkf varchar2(10) ;
cLength number;
v_date date ;
begin v_wzkf := replace(replace(replace(wzkf,'年', '-'),'月','-'),'日',' ') ;
v_wzkf := ltrim(rtrim(v_wzkf)) ;
v_wzkf := replace(v_wzkf,'/','-') ;
v_wzkf := replace(v_wzkf,'.','-') ; select length(v_wzkf) into cLength from dual;
if(cLength=8 and instr(v_wzkf,'-')<1 )
THEN
SELECT substr(v_wzkf, 1,4 )||'-'||substr(v_wzkf, 5,2 )||'-'||substr(v_wzkf, 7,2 ) into v_wzkf FROM dual;
END IF ; -- v_date := to_char(to_date(v_wzkf,'yyyy-mm-dd'),'yyyy-mm-dd') ;
RETURN to_char(to_date(v_wzkf,'yyyy-mm-dd'),'yyyy-mm-dd') ; EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN '@@@111';
WHEN OTHERS THEN
RETURN '@@@222'; end specDate;
---
select instr('ewew点e','点') from dual
最新文章
- elasticsearch-1.3.0 之索引代码粗略梳理
- RMQ训练题 codevs 1291 火车线路 已经搞定
- eclipse的一些常见操作
- iOS开发——常见错误——使用MJRefresh返回上一个界面蹦掉的情况
- Common Pitfalls In Machine Learning Projects
- hdu1213 并查集
- 慕课网-安卓工程师初养成-4-8 Java循环语句之 do...while
- python练习程序(c100经典例21)
- cojs 奈特 题解报告
- c语言学习之基础知识点介绍(二十):预处理指令
- Response.ContentType 详细列表 (转载)
- 设置position(absolute,fixed)导致flex布局不生效
- python中文件读写
- [纯C#实现]基于BP神经网络的中文手写识别算法
- 用栈来实现队列的golang实现
- python棋类游戏编写入门
- jQuery的end() 方法
- Spring Data Redis —— 快速入门
- JSP 过滤器
- property:get、set