摘要:
l方括号表达示方括号表达式描述[[:alnum:]]字母和数字混合的字符[[:alpha:]]字母字符[[:cntrl:]]控制字符[[:digit:]]数字字符[[:graph:]]图像字符[[:lower:]]小写字母字符[[:print:]]打印字符[[:punct:]]标点符号字符[[:space:]]空格字符[[:upper:]]大写字母字符[[:xdigit:]]十六进制数字字符l元字符元字符描述*?如果有前面字符串的0次以上出现时匹配+?如果有前面字符串的1次以上出现时匹配{m}m是整数。它文本中找出给定子表达式的恰好m次出现{n}?前面的字符串只出现一次时匹配{m,}M是整数。 阅读全文
摘要:
oracle 存储过程中使用事务管理存储过程里的事务操作:create or replace procedure pr_mypro2(p_a in varchar2,p_b in varchar2,p_count out number)temp varchar2(1000); /**//*定义临时变量*/isbeginselect code into p_count from table1 where a=p_a; /**//*查询并返回值*/temp := p_count; /**//*将返回值赋给临时变量*/savepoint point1; /**//*保存点*/insert into 阅读全文
摘要:
如何用正则取美国人名. 类似”Celmer,Kenneth Raymond”,"Cockrell Jr,Robert Charles”,"St John,Michael Raymond”需要取出颠倒然后用空格分隔取出第一个名字“Kenneth Celmer”,”Robert Cockrell”,”Michael St’。通过ITPUB高手指点,可用如下代码实现。SELECT name full_name, REGEXP_REPLACE(name,'\s*(\S+)[^,]*\,+\s*(\S+)[^,]*','\2 \1') name, us 阅读全文
摘要:
如何用正则表达式实现这样的需求通过wm_concat()函数得到了这样的结果: '014,014,018,022,317,319,023,021' 如何继续排序和去重复呢? 期望结果:'014,018,021,022,023,317,319' 测试数据: select '014,014,018,022,317,319,023,021' from dual; wm_concat集合函数在plsql中不能加distinct关键字,在sql中执行没事。 有三种方式屏蔽: 1、改为sql串,动态执行; 2、定义视图; 3、先 distinct ,套一层在 阅读全文
只有注册用户登录后才能阅读该文。 阅读全文
摘要:
1. 非贪婪模式?当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。2. (?:pattern)匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。(?=pattern)正 阅读全文
摘要:
CREATE OR REPLACE PROCEDURE "SP_GET_ARTICLE_DATA"(article_detail_id_$ number, Record_Md5_ID_$ varchar2, content_text_$ clob, ReturnValue out number) isbegin declare --自定义数组 TYPE StringArray IS table OF VARCHAR2(1000); Offset_URL number; Offset_Email number; Offset_Phone number; Offset_Acco 阅读全文