Heim  >  Artikel  >  Datenbank  >  oracle常用函数总结

oracle常用函数总结

WBOY
WBOYOriginal
2016-06-07 17:45:35981Durchsuche

.SYSDATE

    用来得到系统的当前日期

    SQL> select to_char(sysdate,dd-mm-yyyy day) from dual;

    TO_CHAR(SYSDATE,

  -----------------

    09-05-2004星期日

    trunc(date,fmt)按照给出的要求将日期截断,如果fmt=mi表示保留分,截断秒SQL> select to_char(trunc(sysdate,hh),yyyy.mm.dd hh24:mi:ss) hh, 2 to_char(trunc(sysdate,mi),yyyy.mm.dd hh24:mi:ss) hhmm from dual;

    HH HHMM

  ------------------- -------------------

    2004.05.09 11:00:00 2004.05.09 11:17:00

    42.CHARTOROWID

    将字符数据类型转换为ROWID类型

    SQL> select rowid,rowidtochar(rowid),ename from scott.emp;

    ROWID ROWIDTOCHAR(ROWID) ENAME

  ------------------ ------------------ ----------

    AAAAfKAACAAAAEqAAA AAAAfKAACAAAAEqAAA SMITH

    AAAAfKAACAAAAEqAAB AAAAfKAACAAAAEqAAB ALLEN

    AAAAfKAACAAAAEqAAC AAAAfKAACAAAAEqAAC WARD

    AAAAfKAACAAAAEqAAD AAAAfKAACAAAAEqAAD JONES

    43.CONVERT(c,dset,sset)

    将源字符串sset从一个语言字符集转换到另一个目的dset字符集

    SQL> select convert(strutz,we8hp,f7dec) "conversion" from dual;

    conver

  ------

    strutz

    44.HEXTORAW

    将一个十六进制构成的字符串转换为二进制

    45.RAWTOHEXT

    将一个二进制构成的字符串转换为十六进制

    46.ROWIDTOCHAR

    将ROWID数据类型转换为字符类型

    47.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

    48.TO_DATE(string,format)

    将字符串转化为ORACLE中的一个日期

    49.TO_MULTI_BYTE

    将字符串中的单字节字符转化为多字节字符

    SQL> select to_multi_byte(高) from dual;

    TO

    --

    高

    50.TO_NUMBER

    将给出的字符转换为数字

    SQL> select to_number(1999) year from dual;

    YEAR

  ---------

    1999

    51.BFILENAME(dir,file)

    指定一个外部二进制文件

    SQL>insert into file_tb1 values(bfilename(lob_dir1,image1.gif));

    52.CONVERT(x,desc,source)

    将x字段或变量的源source转换为desc

    SQL> select sid,serial#,username,decode(command, 2 0,none, 3 2,insert, 4 3, 5 select, 6 6,update, 7 7,delete, 8 8,drop, 9 other) cmd from v$session where type!=background;

    SID SERIAL# USERNAM

E CMD

 

  --------- --------- ------------------------------ ------

    1 1 none

    2 1 none

    3 1 none

    4 1 none

    5 1 none

    6 1 none

    7 1275 none

    8 1275 none

    9 20 GAO select

    10 40 GAO none

    53.DUMP(s,fmt,start,length)

    DUMP函数以fmt指定的内部数字格式返回一个VARCHAR2类型的值

    SQL> col global_name for a30

    SQL> col dump_string for a50

    SQL> set lin 200

    SQL> select global_name,dump(global_name,1017,8,5) dump_string from global_name;

    GLOBAL_NAME DUMP_STRING

  ------------------------------ --------------------------------------------------

    ORACLE.WORLD Typ=1 Len=12 CharacterSet=ZHS16GBK: W,O,R,L,D

    54.EMPTY_BLOB()和EMPTY_CLOB()

    这两个函数都是用来对大数据类型字段进行初始化操作的函数

    55.GREATEST返回一组表达式中的最大值,即比较字符的编码大小. SQL> select greatest(AA,AB,AC) from dual;

    GR

    --

    AC

    SQL> select greatest(啊,安,天) from dual;

    GR

    --

    天

    56.LEAST

    返回一组表达式中的最小值

    SQL> select least(啊,安,天) from dual;

    LE

    --

    啊

    57.UID

    返回标识当前用户的唯一整数

    SQL> show user

    USER为"GAO"

    SQL> select username,user_id from dba_users where user_id=uid;

    USERNAME USER_ID

  ------------------------------ ---------

    GAO 25

    58.USER

    返回当前用户的名字

    SQL> select user from dual;

    USER

  ------------------------------

    GAO

    59.USEREVN返回当前用户环境的信息,opt可以是: ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE

    ISDBA查看当前用户是否是DBA如果是则返回true

    SQL> select userenv(isdba) from dual;

    USEREN

  ------

    FALSE

    SQL> select userenv(isdba) from dual;

    USEREN

  ------

    TRUE

    SESSION

    返回会话标志

    SQL> select userenv(sessionid) from dual;

    USERENV(SESSIONID)

  --------------------

    152

    ENTRYID

    返回会话人口标志

    SQL> select userenv(entryid) from dual;

    USERENV(ENTRYID)

  ------------------

    0

    INSTANCE

    返回当前INSTANCE的标志

    SQL> select userenv(instance) from dual;

    USERENV(INSTANCE)

  -------------------

    1

    LANGUAGE

    返回当前环境变量

    SQL> select userenv(language) from dual;

    USERENV(LANGUAGE)

  ----------------------------------------------------

    SIMPLIFIED CHINESE_CHINA.ZHS16GBK

    LANG

    返回当前环境的语言的缩写

    SQL> select userenv(lang) from dual;

    USERENV(LANG)

  ----------------------------------------------------

    ZHS

    TERMINAL

    返回用户的终端或机器的标志

    SQL> select userenv(terminal) from dual;

    USERENV(TERMINA

  ----------------

    GAO

    VSIZE(X)

    返回X的大小(字节)数

    SQL> select vsize(user),user from dual;

    VSIZE(USER) USER

  ----------- ------------------------------

    6 SYSTEM

    60.AVG(DISTINCT|ALL) all表示对所有的值求平均值,distinct只对不同的值求平均值SQLWKS> create table table3(xm varchar(8),sal number(7,2));

    语句已处理。

    SQLWKS> insert into table3 values(gao,1111.11);

    SQLWKS> insert into table3 values(gao,1111.11);

    SQLWKS> insert into table3 values(zhu,5555.55);

    SQLWKS> commit;

    SQL> select avg(distinct sal) from gao.table3;

    AVG(DISTINCTSAL)

  ----------------

    3333.33 SQL> select avg(all sal) from gao.table3;

    AVG(ALLSAL)

  -----------

    2592.59

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn