当前位置:数据库 > Oracle >>

oracle常用函数总结

.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

补充:数据库,Oracle教程
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,