转换函数将指定字符从一种类型转换为另一种,通常这类函数遵循如下惯例:函数名称后面跟着待转换类型以及输出类型。
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 »
本类函数中,除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 »
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 |
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 »
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 »