Oracle函数substr, instr, trunc

--Oracle trunc()函数的用法

/**************日期********************/

  SELECT TRUNC(SYSDATE) FROM dual --2013-01-06 今天的日期为2013-01-06
  SELECT TRUNC(SYSDATE, 'mm') FROM dual --2013-01-01 返回当月第一天.
  SELECT TRUNC(SYSDATE, 'yy') FROM dual --2013-01-01 返回当年第一天
  SELECT TRUNC(SYSDATE, 'dd') FROM dual --2013-01-06 返回当前年月日
  SELECT TRUNC(SYSDATE, 'yyyy') FROM dual --2013-01-01 返回当年第一天
  SELECT TRUNC(SYSDATE, 'd') FROM dual --2013-01-06 (星期天)返回当前星期的第一天
  SELECT TRUNC(SYSDATE, 'hh') FROM dual --2013-01-06 17:00:00 当前时间为17:35
  SELECT TRUNC(SYSDATE, 'mi') FROM dual --2013-01-06 17:35:00 TRUNC()函数没有秒的精确
/***************数字********************/
/*
TRUNC(number,num_digits)
Number 需要截尾取整的数字。
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
*/
  SELECT TRUNC(123.458) FROM dual --123
  SELECT TRUNC(123.458,0) FROM dual --123
  SELECT TRUNC(123.458,1) FROM dual --123.4
  SELECT TRUNC(123.458,-1) FROM dual --120
  SELECT TRUNC(123.458,-4) FROM dual --0
  SELECT TRUNC(123.458,4) FROM dual --123.458
  SELECT TRUNC(123) FROM dual --123
  SELECT TRUNC(123,1) FROM dual --123
  SELECT TRUNC(123,-1) FROM dual --120

--------------------------------华丽的分割线---------------------------------

--Oracle substr()、instr()函数的用法

--substr(字符串,截取开始位置,截取长度)=返回截取的字
select substr('miaoying',0,1) from dual;--返回结果为:m
select substr('miaoying',1,1) from dual;--返回结果为:m--说明0和1都表示截取的位置为第一个字符
select substr('miaoying',-7,4) from dual;--返回结果为:iaoy--负数表示:-7表示从右边开始数第七位开始,也就是i,截取长度为4的字符串

--instr(源字符串,目标字符串,起始字符串,匹配字符串)=返回要截取的字符串在源字符串中的位置,从字符的开始,只检索一次
--instr(string1,string2,index1,index2) 表示:要在string1的index1号位置,开始查找,第index2次,出现的string2
select instr('miaoying','i',2,2) from dual;--返回6:也就是说:在"miaoying"的第2号位置开始,查找第二次出现的i的位置
select instr('miaoying','k',2,2)from dual;--返回0:即如果查找不到,则返回0
select instr('miaoying','i') from dual;--返回2
select instr('miaoying','yi') from dual;--返回5:即"yi"的y的位置
select instr('miaoying','i',-1,2) from dual;--返回2:
--空格也是字符。。。。。

select * from omgnode a where name like '%miaoying%'
select * from omgnode a where instr(name,'miaoying')>0--效果一样

原文地址:https://www.cnblogs.com/bishuihengchen/p/8041436.html