`
thrillerzw
  • 浏览: 139145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle常用函数

阅读更多
instr( concat(',',a.referedrange),?)>0  
SELECT  instr(concat(',','1,0,4,6,7,8,5,'),'0') FROM dual;  // ,1,0,4,6,7,8,5,  返回 4
SELECT 'thriller' || 'z' || 'w' FROM DUAL;  //thrillerzw
 
concat返回结果为连接参数产生的字符串, 格式:CONCAT(str1,str2,…)
 
instr其语法为:
instr(sourceString,destString,start,appearPosition).  
instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')
其中sourceString代表源字符串;
destString代表想从源字符串中查找的子串;
start代表查找的开始位置,该参数可选的,默认为1;
appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;
如果start的值为负数,那么代表从右往左进行查找,但是位置数据仍然从左向右计算。
返回值为:查找到的字符串的位置。
 
jdbc代码: order by nvl(a.startdate, to_date('199012','yyyyMM')) desc
NVL( string1, replace_with)
功能如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。 
NVL2(expr1,expr2,expr3)  
功能:如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值;如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值。
 
to_date('2008-07-29 13:57:36','yyyy-MM-dd HH24:mi:ss')
 
TRUNC(SYSDATE)只截取年月日
select trunc(add_months(last_day(sysdate), -1) + 1)  from dual    // 本月第一天 ,如:2013/5/1
截取字符串:substr( string, start_position, [ length ] )
-- 从左边开始的第1个位置,截取长度为2的字符串
select substr('test001',1,2) from dual; te -- 从右边开始的第2个位置,截取长度为2的字符串 select substr('test001',-2,2) from dual; 01
 
TO_CHAR(date,'format') SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual; TO_CHAR(SYSDATE,'YY ------------------- 2004/05/09 21:14:41 TO_DATE(string,'format') 将字符串转化为ORACLE中的一个日期
 
//date/timestamp
->varchar2    publishtime   date 类型,值2013-9-18 00:01:01
select * from myuser.cor_student t where to_char(publishtime,'yyyy-MM-dd')='2013-09-18'
select * from myuser.cor_student t where publishtime between to_date('2013-09-18 00:00:00','yyyy-MM-dd hh24:mi:ss') and to_date('2013-09-19 00:00:00','yyyy-MM-dd hh24:mi:ss') ;
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics