当前位置:Gxlcms > mysql > oracle常用函数总结

oracle常用函数总结

时间:2021-07-01 10:21:17 帮助过:50人阅读

.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

人气教程排行