Oracle常用函数总结(五):转换函数

Filed under: Oracle, SQL | Borrow: | No Comments »
Posted on

转换函数将指定字符从一种类型转换为另一种,通常这类函数遵循如下惯例:函数名称后面跟着待转换类型以及输出类型。

1、TO_CHAR()

转换字符->字符TO_CHAR(c):将nchar、nvarchar2、clob、nclob类型转换为char类型;

SQL> select to_char('AABBCC') from dual;
 
TO_CHA
------
AABBCC

转换时间->字符TO_CHAR(d[,fmt]):将指定的时间(data、
timestamp、timestamp with time zone)按照指定格式转换为varchar2类型;

SQL> select to_char(sysdate, 'yy-mm-dd') from dual;
 
TO_CHAR(
--------
08-10-01

转换数值->字符TO_CHAR(n[,fmt]):将指定数值n按照指定格式fmt转换为varchar2类型并返回; Read the rest of this entry »

Oracle常用函数总结(四):日期函数

Filed under: Oracle, SQL | Borrow: | No Comments »
Posted on

本类函数中,除months_between返回数值外,其它都将返回日期。

1、ADD_MONTHS(data, n) 返回指定日期月份+-n之后的值,n可以为任何整数

SQL> alter session set nls_date_format = 'yyyy-mm-dd';
 
Session altered.
 
SQL> select add_months(sysdate, 12) from dual;
 
ADD_MONTHS
----------
2009-10-01
 
SQL> select add_months('2008-08-08', -12) from dual;
 
ADD_MONTHS
----------
2007-08-08

2、CURRENT_DATE 返回当前session所在时区的默认时间 Read the rest of this entry »

Oracle常用函数总结(三):字符型函数返回数字值

Filed under: Oracle, SQL | Borrow: | No Comments »
Posted on

1、INSTR(c1,c2[,n1[,n2]]) 返回c2在c1中位置
c1:原字符串
c2:要寻找的字符串
n1:查询起始位置,正值表示从左到右,负值表示从右到左,如果为0的话,则返回的也是0
n2:第几个匹配项。大于0

SQL> select instr('abcdefg', 'de', 4, 1) from dual;
 
INSTR('ABCDEFG','DE',4,1)
-------------------------
                        4
 
SQL> select instr('abcdefg', 'de', 5, 1) from dual;
 
INSTR('ABCDEFG','DE',5,1)
-------------------------
                        0

2、LENGTH(c) 返回指定字符串的长度

SQL> select length('abcdefg') from dual;
 
LENGTH('ABCDEFG')
-----------------
                7

Oracle常用函数总结(二):字符型函数返回字符值

Filed under: Oracle, SQL | Borrow: | No Comments »
Posted on

1、LOWER(c) 将指定字符串内字符变为小写,支持CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB、NCLOB类型

SQL> select lower('ORACLE') from dual;
 
LOWER(
------
oracle

2、UPPER(c) 将指定字符串内字符变为大写,支持CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB、NCLOB类型

SQL> select upper('oracle') from dual;
 
UPPER(
------
ORACLE

3、LPAD(c1,n[,c2]) 返回指定长度=n的字符串,需要注意的有几点:
  如果n>c1.length and c2 is null,以空格从左向右补充字符长度至n并返回;
  如果n>c1.length and c2 is not null,以指定字符c2从左向右补充c1长度至n并返回; Read the rest of this entry »

Oracle常用函数总结(一):数值型函数

Filed under: Oracle, SQL | Borrow: | No Comments »
Posted on

1、MOD(n1,n2)返回n1除n2的余数,如果n2=0则返回n1的值

SQL> select mod(36, 5) from dual;
 
 MOD(36, 5)
----------
         1

2、ROUND(n1[,n2])返回四舍五入小数点右边n2位后n1的值,n2缺省值为0,如果n2为负数就舍入到小数点左边相应的位上(n2推荐为整数,虽然有时候不为整也可以)

SQL> select
  2  round(1.23),
  3  round(1.2345, 3),
  4  round(1234.4, -2),
  5  round(1.23, 1.3)
  6  from dual;
 
ROUND(1.23) ROUND(1.2345, 3) ROUND(1234.4, -2) ROUND(1.23, 1.3)
----------- --------------- ---------------- ---------------
          1           1.235             1200             1.2

3、TRUNC(n1[,n2])返回截尾到n2位小数的n1的值,n2缺省设置为0,当n2为缺省设置时会将n1截尾为整数,如果n2为负值,就截尾在小数点左边相应的位上 Read the rest of this entry »

Tags : , , ,