电脑技术学习

Oracle函数集锦

dn001
  3、INITCAP(c) 将字符串中单词的第一个字母转换为大写,其它则转换为小写

  例如:SELECT INITCAP('whaT is this') FROM DUAL;

  4、NLS_INITCAP(c) 返回指定字符串,并将字符串中第一个字母变大写,其它字母变小写

  例如:SELECT NLS_INITCAP('中华miNZHu') FROM DUAL;

  它还具有一个参数:Nlsparam用来指定排序规则,可以忽略,默认状态该参数为当前session的排序规则。

  (三).字符型函数返回数字值(Character Functions Returning Number Values)

  本类函数支持所有的数据类型

  1、ASCII(c) 与chr函数的用途刚刚相反,本函数返回指定字符在当前字符集下对应的数值。

  例如:SELECT ASCII('_') FROM DUAL;

  (四).日期函数(Datetime Functions)

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

  1、CURRENT_TIMESTAMP([n]) 返回当前session所在时区的日期和时间。n表示毫秒级的精度,不大于6

  例如:SELECT CURRENT_TIMESTAMP(3) FROM DUAL;

  2、LOCALTIMESTAMP([n]) 与上同,返回当前session所在时区的日期和时间。n表示毫秒级的精度,不大于6

  例如:SELECT LOCALTIMESTAMP(3) FROM DUAL;

  3、SYSTIMESTAMP([n]) 与上同,返回当前数据库所在时区的日期和时间,n表示毫秒级的精度,>0 and <6

  例如:SELECT SYSTIMESTAMP(4) FROM DUAL;

  4、DBTIMEZONE 返回数据库的当前时区

  例如:SELECT DBTIMEZONE FROM DUAL;

  5、SESSIONTIMEZONE 返回当前session所在时区

  例如:SELECT SESSIONTIMEZONE FROM DUAL;

  6、EXTRACT(key from date) key=(year,month,day,hour,minute,second) 从指定时间提到指定日期列

  例如:SELECT EXTRACT(year from sysdate) FROM DUAL;

  7、TO_TIMESTAMP(c1[,fmt]) 将指定字符按指定格式转换为timestamp格式。

  例如:SELECT TO_TIMESTAMP('2007-8-22', 'YYYY-MM-DD HH:MI:SS') FROM DUAL;

  (五).转换函数(Conversion Functions)

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

  1、BIN_TO_NUM(n1,n2...n) 将一组位向量转换为等价的十进制形式。

  例如:SELECT BIN_TO_NUM(1,1,0) FROM DUAL;

  2、CAST(c as newtype) 将指定字串转换为指定类型,基本只对字符类型有效,比如char,number,date,rowid等。此类转换有一个专门的表列明了哪种类型可以转换为哪种类型,此处就不作酹述。