ORACLE 内置函数大全
ORACLE 聚合函数(共7个)

ORACLE 聚合函数(共7个)AVG([distinct|all]x)【功能】统计数据表选中行x列的平均值。
【参数】all表示对所有的值求平均值,distinct只对不同的值求平均值,默认为all 如果有参数distinct或all,需有空格与x(列)隔开。
【参数】x,只能为数值型字段【返回】数字值【示例】环境:create table table3(xm varchar(8),sal number(7,2));insert into table3 values('gao',1111.11);insert into table3 values('gao',1111.11); insert into table3 values('zhu',5555.55);commit;执行统计:select avg(distinct sal),avg(all sal),avg(sal) from table3;结果: 3333.33 2592.59 2592.59SUM([distinct|all]x)【功能】统计数据表选中行x列的合计值。
【参数】all表示对所有的值求合计值,distinct只对不同的值求合计值,默认为all 如果有参数distinct或all,需有空格与x(列)隔开。
【参数】x,只能为数值型字段【返回】数字值【示例】环境:create table table3(xm varchar(8),sal number(7,2));insert into table3 values('gao',1111.11);insert into table3 values('gao',1111.11);insert into table3 values('zhu',5555.55);commit;执行统计:select SUM(distinct sal),SUM(all sal),SUM(sal) from table3;结果: 6666.66 7777.77 7777.77STDDEV([distinct|all]x)【功能】统计数据表选中行x列的标准误差。
oralce函数

oralce函数Oracle是一种关系数据库管理系统,它使用了一种名为Oracle数据库的数据库管理系统。
Oracle是一种强大的工具,提供了许多内置函数,可以用于在数据库中进行各种操作。
以下是一些常用的Oracle函数。
1.聚合函数-AVG:计算指定列的平均值。
-COUNT:计算指定列中非空数据的数量。
-SUM:计算指定列的总和。
-MAX:找到指定列的最大值。
-MIN:找到指定列的最小值。
2.字符串函数-CONCAT:将两个字符串连接成一个字符串。
-LOWER:将字符串转换为小写。
-UPPER:将字符串转换为大写。
-LENGTH:计算字符串的长度。
-SUBSTR:返回一个字符串的子字符串。
3.数值函数-ROUND:将一个数值四舍五入到指定的小数位数。
-CEIL:向上取整,返回不小于指定数值的最小整数。
-FLOOR:向下取整,返回不大于指定数值的最大整数。
-ABS:返回指定数值的绝对值。
-MOD:返回两个数值的余数。
4.日期和时间函数-SYSDATE:返回当前日期和时间。
-ADD_MONTHS:在指定日期上增加指定的月份。
-TRUNC:截断日期或时间到指定的精度。
-MONTHS_BETWEEN:计算两个日期之间的月数差。
-TO_CHAR:将日期转换为指定格式的字符串。
5.条件函数-DECODE:根据条件返回不同的值。
-CASE:根据条件执行不同的操作。
-NVL:如果给定的表达式为NULL,则将其替换为指定的值。
-NULLIF:如果两个表达式的值相等,则返回NULL。
6.分析函数-ROW_NUMBER:为每一行分配一个唯一的数字。
-RANK:为每一行分配一个排名,如果有并列的值,则排名相同。
-DENSE_RANK:为每一行分配一个排名,如果有并列的值,则排名可以重复。
-LEAD:返回指定行后的值。
-LAG:返回指定行前的值。
上述函数只是Oracle提供的一小部分功能,Oracle还提供了许多其他有用的函数。
Oracle带参数的自定义函数

query_sql := 'select count(1) from ' || table_name;
execute immediate query_sql into t_count;
return t_count;
end;
end getRecordCount;
/
(2) 函数调用
set serverout on
Oracle带参数的自定义函数
Oracle带参数的自定义函数
(1) 函数编写
create or replace function getRecordCount(table_name varchar2) return number as
begin
declare t_count number;
query_sql varchar2(200);
end;
/
执行结果:
The record count of table emp is 14
oracle带参数的自定义函数 oracle带参数的自定义函数 (1)函数编写 create or replace function getrecordcount(table_name varchar2) return number as begin declare t_count number; query_sql varchar2(200); begin query_sql := 'select count(1) from ' || table_name; execute immediate query_sql into t_count; return t_count; end; end getrecordcount; / (2)函数调用 set serverout on declare table_name varchar2(50); begin table_name := 'dept'; dbms_output.put_line('the record count of table ' || table_name || ' is ' || getrecordcount(table_name)); end; / 执行结果: the record count of table dept is 4 pl/sql procedure successfully completed. 换个表名试试: declare table_name varchar2(50); begin table_name := 'emp'; dbms_output.put_line('the record count of table ' || table_name || ' is ' || getrecordcount(table_name)); end; / 执行结果: the record count of table emp is 14 下载文档原格式( word原格式 ,共1页)
oracle 自定义函数

oracle 自定义函数oracle自定义函数是最重要的函数之一,下面就为您介绍oracle自定义函数的使用,实现返回表类型,希望对您能够有所帮助。
oracle中的函数可以返回表类型。
但是,这个表类型实际上是集合类型(与数组类似)这个类型不能直接作为 from 的宾语。
从oracle 9i 开始,提供了一个叫做“管道化表函数”的概念,来解决这个问题。
这种类型的函数,必须返回一个集合类型,且标明 pipelined。
这个函数不能返回具体变量,必须以一个空 return 返回。
这个函数中,通过 pipe row () 语句来送出要返回的表中的每一行。
调用这个函数的时候,通过 table() 关键字把管道流仿真为一个数据集以下是一个十分简单的实例:create table tb1(k number, v varchar2(10));insert into tb1(k, v) values(100,'aaa');insert into tb1(k, v) values(200,'bbb');insert into tb1(k, v) values(200,'ccc');select * from tb1;create type row_type1 as object(k number, v varchar2(10));create type table_type1 as table of row_type1;create or replace function fun1 return table_type1 pipelined asv row_type1;beginformyrow in (select k, v from tb1) loopv := row_type1(myrow.k, myrow.v);pipe row (v);end loop;return;end;select * from table(fun1);。
oracle 的table函数

oracle 的table函数
Oracle中的TABLE函数是用于将嵌套表(nested table)或者VARRAY转换为普通表的函数。
嵌套表是一种特殊的列类型,它允许在单个列中存储多个行值,而VARRAY是一种可以存储固定数量的元素的数组类型。
当我们使用TABLE函数时,它会将嵌套表或VARRAY中的元素展开为普通的行和列,这样我们就可以对这些元素进行查询和操作。
这个功能在处理嵌套表和VARRAY数据时非常有用,因为它允许我们像操作普通表一样来处理这些复杂的数据类型。
在使用TABLE函数时,我们需要使用关键字TABLE来引用嵌套表或VARRAY,并在其后紧跟着实际的列名或表达式。
例如,我们可以这样使用TABLE函数来查询嵌套表中的数据:
SELECT.
FROM TABLE(nested_table_column);
这将会把嵌套表中的数据展开为普通表,然后我们就可以对其
进行普通的SELECT、INSERT、UPDATE和DELETE操作了。
另外,TABLE函数也可以和LATERAL关键字一起使用,以便在查询中引用前面的列。
这在需要对嵌套表中的数据进行进一步处理或者与其他表进行关联时非常有用。
总之,Oracle中的TABLE函数是一个非常有用的工具,它允许我们以普通表的方式来处理嵌套表和VARRAY数据,为我们在处理复杂数据类型时提供了便利。
oracle常用函数使用大全_最新整理

单值函 数在查询 中返回单 个值,可 被应用到 select, where子 句,start with以及 connect by 子句 和having 子句。 (一).数值 型函数 (Number Functions ) 数值型函 数输入数 字型参数 并返回数 值型的值 。多数该 类函数的 返回值支 持38位小 数点,诸 如:COS, COSH, EXP, LN, LOG, SIN, SINH, SQRT, TAN, and TANH 支 持36位小 数点。 ACOS, ASIN, ATAN, and ATAN2支 持30位小
n1<0,则 oracle从 右向左数 确认起始 位置 例如: SELECT SUBSTR( 'What is this',-5,3) FROM DUAL;
n1>c1.len gth则返 回空 例如: SELECT SUBSTR( 'What is this',50,3) FROM DUAL; 然后再请 你猜猜, 如果 n2<1,会 如何返回 值呢
3、 TRUNC(n 1[,n2] 返 回截尾到 n2位小数 的n1的 值,n2缺 省设置为 0,当n2为 缺省设置 时会将n1 截尾为整 数,如果 n2为负 值,就截 尾在小数 点左边相 应的位上 。 例如: SELECT TRUNC(2 3.56),TRU NC(23.56, 1),TRUNC (23.56,-1) FROM DUAL;
例如: SELECT REPLAC E('WWhhh hhaT is tHis w W','W','-') FROM
9、 SOUNDE X(c) 神奇 的函数 啊,该函 数返回字 符串参数 的语音表 示形式, 对于比较 一些读音 相同,但 是拼写不 同的单词 非常有用 。计算语 音的算法 如下:
ORACLE常用函数功能演示

ORACLE常用函数功能演示文档撰写:孟祥新写在前面:ORACLE内置函数,相当于C语言中的库函数,提供了常规数据库编程中所需的绝大多数基本功能,并且通过函数的组合或嵌套使用,可以发挥其强大的功能。
由于这些内置函数都是由ORACLE公司的编程大家所写,而且其执行代码是内嵌在ORACLE数据库系统中的,因此其执行效率极高。
在数据库编程中能广泛使用ORACLE所提供的内置函数,将大大提高程序代码的执行效率。
“站在高人的肩膀上,将使你变得更高”。
演示之前的环境设置:为了在SQL*PLUS中直观地显示函数返回的结果,我将“头”信息先屏蔽掉。
操作如下:一、单行函数1.数值函数(1)三角函数①SIN、ASIN、SINH(正弦、反正弦、双曲正弦)②COS、ACOS、COSH(余弦、反余弦、双曲余弦)③TAN、ATAN、TANH(正切、反正切,双曲正切)(2)幂、方根及对数运算函数①POWER(m, n)(取m的n次幂)②SQRT(n)(取n的平方根)③EXP(n)(取自然对数底e的n次方根)④LN(n)(取n的自然对数)⑤LOG(m, n)(取以m为底n的对数)以上函数功能演示如下:(3)数值处理函数①ABS(n)(取绝对值)②SIGN(n)(符号函数)③CEIL(n)(取不小于n的最小整数)④FLOOR(n)(取不大于n的最大整数)⑤ROUND(n, [m])(按m精度对n进行4舍5入)⑥TRUNC(n, [m])(按m精度对n进行截取)⑦MOD(m, n)(取m除以n的余数)以上函数功能演示如下:2.字符处理函数(1)对字符串的大小写处理的函数①INITCAP(功能:将字符串中每个单词的首字母,变换为大写。
)②UPPER(功能:将字符串中的所有字母,转换为大写。
)③LOWER(功能:将字符串中的所有字母,转换为小写。
)以上函数功能演示如下:(2)对字符串进行处理的函数①CONCAT(字符串连接函数,也可用|| 替代)功能演示如下:②ASCII(取字符的编码)③CHR(将编码转换为对应的字符)以上函数功能演示如下:④LTRIM(去除左侧空格/指定字符)⑤RTRIM(去除右侧空格/指定字符)⑥TRIM(去除两侧的空格/去除指定字符)以上函数去除空格功能演示如下:以上函数去除指定字符功能演示如下:请注意:在用TRIM去除字符串中指定字符(非空格)时的特殊用法。
Oracleform_builder内置函数说明.

abort_query;停止查询的执行add_group_column(record group id或name,group column添加一个列至U—个记录组,Record group idn ame,colu mn type,colu mn width;add_group_row(record group id或name,row number;添加一个行至U—个记录组,record group id是oracle赋予这个组的唯一的名称,row number指定了这个行在组中位置.add」ist_eleme nt(list n ame or list id,list index,list lable,list value;添加一项到下拉列表框,list name是list 的名字,list index 是添加到列表框的索引,list label指定了放入列表中的数值串,list value包含了列表标识所对应的数据库的数值.add_parameter(list或name,parameter,parameter type,valu添加一个参数至U—个参数列表,参数列表是一个变量列表,这些变量将被伟给其他对象,list或name指定了这个列表的标识,parameter type参数类型包含两种可用数值:text_type是一串字符;data_paramete是一个指定已在form中定义的记录组的串.value是传给被调模块的实际数值.application_parameter促使oracle 显示Enter parameter values对话框。
关联了当前菜单form的参数按其数值被显示。
backgrou nd_me nu (1...10从背景菜单中显示一个菜单项bell;促使终址产生一个鸣叫(要有音响或耳机才能听以哦!block_menu;显示一个数值的列表,它包括有效块的名字和它们的序列号break;停止form的执行,显示调试器.注:只能在调试模式时call」nput;接受并执行功能键输入;checkbox_checked( name返回一个真或假的值表示检查框的状态check_record_uniquenes被on_check_unique触发器调用时,为检查主关键字的唯一性而被始化form过程.clear_block人当前的块中清除记录.clear_eol;从光标开始到些行结束清除文本项的值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual;A A ZERO SPACE--------- --------- --------- ---------65 97 48 322.CHR给出整数,返回对应的字符;SQL> select chr(54740) zhao,chr(65) chr65 from dual;ZH C-- -赵 A3.CONCAT连接两个字符串;SQL> select concat('010-','')||'转23' 高乾竞电话from dual;高乾竞电话----------------010-转234.INITCAP返回字符串并将字符串的第一个字母变为大写;SQL> select initcap('smith') upp from dual;UPP-----Smith5.INSTR(C1,C2,I,J)在一个字符串中搜索指定的字符,返回发现指定的字符的位置;C1 被搜索的字符串C2 希望搜索的字符串I 搜索的开始位置,默认为1J 出现的位置,默认为1SQL> select instr('oracle traning','ra',1,2) instring from dual;INSTRING---------96.LENGTH返回字符串的长度;SQL> select name,length(name),addr,length(addr),sal,length(to_char(sal)) from gao.nchar_tst; NAME LENGTH(NAME) ADDR LENGTH(ADDR) SALLENGTH(TO_CHAR(SAL))------ ------------ ---------------- ------------ --------- --------------------高乾竞 3 北京市海淀区 6 9999.99 7 7.LOWER返回字符串,并将所有的字符小写SQL> select lower('AaBbCcDd')AaBbCcDd from dual;AABBCCDD--------aabbccdd8.UPPER返回字符串,并将所有的字符大写SQL> select upper('AaBbCcDd') upper from dual;UPPER--------AABBCCDD9.RPAD和LPAD(粘贴字符)RPAD 在列的右边粘贴字符LPAD 在列的左边粘贴字符SQL> select lpad(rpad('gao',10,'*'),17,'*')from dual;LPAD(RPAD('GAO',1-----------------*******gao*******不够字符则用*来填满10.LTRIM和RTRIMLTRIM 删除左边出现的字符串RTRIM 删除右边出现的字符串SQL> select ltrim(rtrim(' gao qian jing ',' '),' ') from dual;LTRIM(RTRIM('-------------gao qian jing11.SUBSTR(string,start,count)取子字符串,从start开始,取count个SQL> select substr('',3,8) from dual;SUBSTR('--------12.REPLACE('string','s1','s2')string 希望被替换的字符或变量s1 被替换的字符串s2 要替换的字符串SQL> select replace('he love you','he','i') from dual;REPLACE('H----------i love you13.SOUNDEX返回一个与给定的字符串读音相同的字符串SQL> create table table1(xm varchar(8));SQL> insert into table1 values('weather');SQL> insert into table1 values('wether');SQL> insert into table1 values('gao');SQL> select xm from table1 where soundex(xm)=soundex('weather'); XM--------weatherwether14.TRIM('s' from 'string')LEADING 剪掉前面的字符TRAILING 剪掉后面的字符如果不指定,默认为空格符15.ABS返回指定值的绝对值SQL> select abs(100),abs(-100) from dual;ABS(100) ABS(-100)--------- ---------100 10016.ACOS给出反余弦的值SQL> select acos(-1) from dual;ACOS(-1)---------3.17.ASIN给出反正弦的值SQL> select asin(0.5) from dual;ASIN(0.5)---------.18.ATAN返回一个数字的反正切值SQL> select atan(1) from dual;ATAN(1)---------.19.CEIL返回大于或等于给出数字的最小整数SQL> select ceil(3.) from dual;CEIL(3.)---------------420.COS返回一个给定数字的余弦SQL> select cos(-3.) from dual;COS(-3.)----------------121.COSH返回一个数字反余弦值SQL> select cosh(20) from dual; COSH(20)---------22.EXP返回一个数字e的n次方根SQL> select exp(2),exp(1) from dual; EXP(2) EXP(1)--------- ---------7. 2.23.FLOOR对给定的数字取整数SQL> select floor(2345.67) from dual; FLOOR(2345.67)--------------234524.LN返回一个数字的对数值SQL> select ln(1),ln(2),ln(2.) from dual;LN(1) LN(2) LN(2.)--------- --------- -------------0 . .25.LOG(n1,n2)返回一个以n1为底n2的对数SQL> select log(2,1),log(2,4) from dual;LOG(2,1) LOG(2,4)--------- ---------0 226.MOD(n1,n2)返回一个n1除以n2的余数SQL> select mod(10,3),mod(3,3),mod(2,3) from dual;MOD(10,3) MOD(3,3) MOD(2,3)--------- --------- ---------1 0 226.Sign(N)返回一个数的正负,正返回1零返回0负返回-127.POWER返回n1的n2次方根SQL> select power(2,10),power(3,3) from dual;POWER(2,10) POWER(3,3)----------- ----------1024 2728.ROUND和TRUNC按照指定的精度进行舍入SQL> select round(55.5),round(-55.4),trunc(55.5),trunc(-55.5) from dual; ROUND(55.5) ROUND(-55.4) TRUNC(55.5) TRUNC(-55.5)----------- ------------ ----------- ------------56 -55 55 -5529.SIGN取数字n的符号,大于0返回1,小于0返回-1,等于0返回0SQL> select sign(123),sign(-100),sign(0) from dual;SIGN(123) SIGN(-100) SIGN(0)--------- ---------- ---------1 -1 030.SIN返回一个数字的正弦值SQL> select sin(1.57079) from dual;SIN(1.57079)------------131.SIGH返回双曲正弦的值SQL> select sin(20),sinh(20) from dual;SIN(20) SINH(20)--------- ---------.32.SQRT返回数字n的根SQL> select sqrt(64),sqrt(10) from dual;SQRT(64) SQRT(10)--------- ---------8 3.33.TAN返回数字的正切值SQL> select tan(20),tan(10) from dual;TAN(20) TAN(10)--------- ---------2. .34.TANH返回数字n的双曲正切值SQL> select tanh(20),tan(20) from dual;TANH(20) TAN(20)--------- ---------1 2.35.TRUNC按照指定的精度截取一个数SQL> select trunc(124.1666,-2) trunc1,trunc(124.16666,2) from dual;TRUNC1 TRUNC(124.16666,2)--------- ------------------100 124.1636.ADD_MONTHS增加或减去月份SQL> select to_char(add_months(to_date('','yyyymm'),2),'yyyymm') from dual;------SQL> select to_char(add_months(to_date('','yyyymm'),-2),'yyyymm') from dual;TO_CHA------ST_DAY返回日期的最后一天SQL> select to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd') from dual; TO_CHAR(SY TO_CHAR((S---------- ----------2004.05.09 2004.05.10SQL> select last_day(sysdate) from dual;LAST_DAY(S----------31-5月-0438.MONTHS_BETWEEN(date2,date1)给出date2-date1的月份SQL> select months_between('19-12月-1999','19-3月-1999') mon_between from dual; MON_BETWEEN-----------9SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.m m.dd')) mon_betw from dual;MON_BETW----------6039.NEW_TIME(date,'this','that')给出在this时区=other时区的日期和时间SQL> select to_char(sysdate,'yyyy.mm.dd hh24:mi:ss') bj_time,to_char(new_time2 (sysdate,'PDT','GMT'),'yyyy.mm.dd hh24:mi:ss') los_angles from dual;BJ_TIME LOS_ANGLES------------------- -------------------2004.05.09 11:05:32 2004.05.09 18:05:3240.NEXT_DAY(date,'day')给出日期date和星期x之后计算下一个星期的日期SQL> select next_day('18-5月-2001','星期五') next_day from dual;NEXT_DAY----------41.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:0042.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 JONES43.CONVERT(c,dset,sset)将源字符串sset从一个语言字符集转换到另一个目的dset字符集SQL> select convert('strutz','we8hp','f7dec') "conversion" from dual; conver------strutz44.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:4148.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---------199951.BFILENAME(dir,file)指定一个外部二进制文件SQL>insert into file_tb1 values(bfilename('lob_dir1','image1.gif'));52.CONVERT('x','desc','source')将x字段或变量的源source转换为descSQL> 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# USERNAME CMD--------- --------- ------------------------------ ------1 1 none2 1 none3 1 none4 1 none5 1 none6 1 none7 1275 none8 1275 none9 20 GAO select10 40 GAO none53.DUMP(s,fmt,start,length)DUMP函数以fmt指定的内部数字格式返回一个VARCHAR2类型的值SQL> col global_name for a30SQL> col dump_string for a50SQL> set lin 200SQL> 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,D54.EMPTY_BLOB()和EMPTY_CLOB()这两个函数都是用来对大数据类型字段进行初始化操作的函数55.GREATEST返回一组表达式中的最大值,即比较字符的编码大小.SQL> select greatest('AA','AB','AC') from dual;GR--ACSQL> select greatest('啊','安','天') from dual;GR--天56.LEAST返回一组表达式中的最小值SQL> select least('啊','安','天') from dual;LE--啊57.UID返回标识当前用户的唯一整数SQL> show userUSER 为"GAO"SQL> select username,user_id from dba_users where user_id=uid;USERNAME USER_ID------------------------------ ---------GAO 25ER返回当前用户的名字SQL> select user from dual;USER------------------------------GAOEREVN返回当前用户环境的信息,opt可以是:ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE ISDBA 查看当前用户是否是DBA如果是则返回trueSQL> select userenv('isdba') from dual;USEREN------FALSESQL> select userenv('isdba') from dual;USEREN------TRUESESSION返回会话标志SQL> select userenv('sessionid') from dual;USERENV('SESSIONID')--------------------152ENTRYID返回会话人口标志SQL> select userenv('entryid') from dual;USERENV('ENTRYID')------------------INSTANCE返回当前INSTANCE的标志SQL> select userenv('instance') from dual;USERENV('INSTANCE')-------------------1LANGUAGE返回当前环境变量SQL> select userenv('language') from dual;USERENV('LANGUAGE')----------------------------------------------------SIMPLIFIED CHINESE_CHINA.ZHS16GBKLANG返回当前环境的语言的缩写SQL> select userenv('lang') from dual;USERENV('LANG')----------------------------------------------------ZHSTERMINAL返回用户的终端或机器的标志SQL> select userenv('terminal') from dual;USERENV('TERMINA----------------GAOVSIZE(X)返回X的大小(字节)数SQL> select vsize(user),user from dual;VSIZE(USER) USER----------- ------------------------------6 SYSTEM60.AVG(DISTINCT|ALL)all表示对所有的值求平均值,distinct只对不同的值求平均值SQLWKS> create table table3(xm varchar(8),sal number(7,2));语句已处理。