工作中编写过的一条语句 select * from Bt_Holiday where to_char(Setting_DATE,‘YYYY‘)=Substr(‘2015-03-00‘,1,4) AND to_char(Setting_DATE,‘MM‘)=Substr(‘2015-03-00‘,6, (instr(‘2015-03-00‘,‘-‘,1,2))-(instr(‘2015-03-00‘,‘-‘,1)+1)) Substr(‘2015-03-00‘,6, (instr(‘2015-03-00‘,‘-‘,1,2))-(instr(‘2015-03-00‘,‘-‘,1)+1))语句的意思是取得日期中的月。 to_char()函数功能,就是将数...
1.xml字符串 /* <orderlist> <order> <orderid>1</orderid> <ordernumber>857544544</ordernumber> <orderprice>54</orderprice> </order> <order> <orderid>2</orderid> <ordernumber>858544544</ordernumber> <orderprice>63</orderprice> </order> <order> <orderid>3</orderid> <ordernumber>454854555</ordernu...
table tb ([id] int,[name] varchar(2)) insert into tb select 1,‘aa‘ union all select 2,‘bb‘ union all select 1,‘cc‘ union all select 3,‘dd‘ union all select 2,‘ee‘select * from tb --查询 select id,name=stuff((select ‘,‘+name from tb where id=t.id for xml path(‘‘)),1,1,‘‘) fromtb t group byid方法二:CREATE FUNCTION GET_STRING(@ID INT) RETURNS VARCHAR(50) AS BEGIN DECLARE @NAME VARCHA...
‘,1,1)+1) where 条件 like ‘%*%‘ 2:select SUBSTR(列名,INSTR(列名,‘、‘,1,1)+1) as d from 表名 t where 条件 like ‘%-%‘; 例:Select INSTR(‘ORC+001‘,‘+‘,1,1) from dual 返回的是"4" 如果该字符串没有匹配字符 返回的是“0”。 INSTR:INSTR方法的格式为 INSTR(源字符串, 目标字符串, 起始位置, 匹配序号)上2:中+1 是因为截取到的位置是从匹配字符开始,所以得从下一位开始截取,无长度截取,若不...
String URL= 2 "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=" + 3 "(ADDRESS=(PROTOCOL=TCP)(HOST=ip1)(PORT=1521))" + 4 "(ADDRESS=(PROTOCOL=TCP)(HOST=ip2)(PORT=1521))" + 5 "(LOAD_BALANCE=yes)(FAILOVER=on))" + 6 "(CONNECT_DATA=(SERVICE_NAME=orcl)))" ; ref http://wallimn.iteye.com/blog/1345102java-RAC Oracle 连接字符串标签:本文系统来源:http://www.cnblogs.com/...
1 CREATE OR REPLACE FUNCTION to_time(sec IN NUMBER) RETURN VARCHAR2 IS2 /*把秒转成时分秒格式3 auth lzpong 201/09/164 */5 BEGIN6 RETURN TRUNC(NVL(sec,0)/3600)||‘:‘||SUBSTR(NUMTODSINTERVAL(NVL(sec,0), ‘second‘),15,5);7 EXCEPTION WHEN OTHERS THEN RETURN ‘0:00:00‘;8 END to_time;9 10 11 CREATE OR REPLACE FUNCTION isnumeric(str IN VARCHAR2) RETURN NUMBER IS 12 /*检测字符串是否是数字 null:-1; n...
tabletype: create or replace type tabletype as table of VARCHAR2(32676); 2.创建split 函数CREATE OR REPLACE FUNCTION split (p_list CLOB, p_sep VARCHAR2 := ‘,‘) RETURN tabletype PIPELINED IS /* * 2015-11-11 * Function: 返回字符串被指定字符分割后的表类型。 * Parameters: p_list: 待分割的字符串。 p_sep: 分隔符,默认逗号,也可以指定字符或字符串。 */l_idx PLS_INTEGER; v_list VARCHAR2 (32676) := p_...
1、缺省处理 Oracle在Order by 时缺省认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前 2、使用nvl函数 nvl函数可以将输入参数为空时转换为一特定值,如 nvl(employee_name,’张三’)表示当employee_name为空时则返回’张三’,如果不为空则返回employee_name 通过这个函数可以定制null的排序位置。 3、使用decode函数 decode函数比nvl函数更强大,同样它也可以将输入参数为空时转换为一特...
javapublic boolean isNumeric(String str){ Pattern pattern = Pattern.compile("^-?[0-9]+\\.?[0-9]*"); Matcher isNum = pattern.matcher(str);if( !isNum.matches() ){return false; } return true; } pythondef isNum(value):try:int(value) + 1except:return Falseelse:return Trueoraclecreate or replace function func_is_number( sx in varchar) return int isx number;begin x:=to_number(sx);return 1;exceptionwhen o...
M VARCHAR(10); BEGIN FOR I IN ( WITH T AS(SELECT REVERSE(‘i,am,a,test,hahahhah‘) AS STR FROM DUAL) SELECT LEVEL,REGEXP_SUBSTR(T.STR, ‘[^,]+‘, 1, LEVEL) STR_SINGLEFROM T CONNECT BY LEVEL <= LENGTH(T.STR) - LENGTH(REPLACE(T.STR, ‘,‘, ‘‘)) + 1) LOOPSELECT REVERSE(I.STR_SINGLE) INTO M FROM DUAL;DBMS_OUTPUT.PUT_LINE(M); END LOOP; END;使用 REVERSE()函數反轉子串。Oracle反向字符截取逗號分隔字符串...
变量声明 declare num0 number;num1 number; begin --判断用户为:SYSTEM的数据库中是否存在相关数据表和序列,存在则删除,不存在则新创建,DBMS_OUTPUT.put_line等同java中的System.out.println输出语句DBMS_OUTPUT.put_line(‘正在初始化数据库信息,请稍后......‘);--以下参数说明:--所涉及到的参数值必须为大写--sequence_owner:指定哪个数据库用户的序列; sequence_name:指定的序列名称--TABLE_NAME:指定数据表的...
ascii()函数将字符转换为ASCII码:ASCII码 –》 字符; 在oracle中chr()函数和ascii()是一对反函数。 chr()函数示例: SQL> select chr(65) from dual; CHR(65)-------Aaccii()函数示例: SQL> select ascii(‘A‘) from dual; ASCII(‘A‘)---------- 65取出当前字段中最大的字母,并计算出下一个字母: SELECT CHR(ASCII(max(SUBSTR(UPPERCD,1,1)))+1)FROM exps_code_lm CHR 语法: chr(x) 功能:返回在数据库字符集中与...
含义解释: 问:什么是NULL? 答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。 ORACLE允许任何一种数据类型的字段为空,除了以下两种情况: 1、主键字段(primary key), 2、定义时已经加了NOT NULL限制条件的字段 说明: 1、等价于没有任何值、是未知数。 2、NULL与0、空字符串、空格都不同。 3、对空值做加、减、乘、除等运算操作,结果仍为空。 4、NULL的处理...
create or replace function F_SPLIT_CONDITION(START_STRING VARCHAR2, V_FLAG VARCHAR2)/***将给出的START_STRINGN字符串按V_FLAG替换为逗号分隔的字符串*例如:12-34-56 替换为‘12‘,‘34‘,‘56‘*使用loop循环实现*/RETURN VARCHAR2 IS L_STRING VARCHAR2(100);--输出字符串 L_INDX INTEGER; --特殊字符 V_STRING VARCHAR2(100) := START_STRING; --原字符串begin L_STRING := ‘‘‘‘;--初始化为一个‘号LOOP ...
者按,字符串分解在ORACLE编程中可用于词、字的解析,继而可实现单词搜索的合并,为基础代码。 代码如下,作者保留所有权。create or replace function FUN_STRING_SPLIT (v_string IN VARCHAR2, v_sep IN VARCHAR2)return fs.stringList IS /***************************************************************************/ /* */ /* 字符串分割函数 fo...