Oracle内置函数
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还提供了许多其他有用的函数。
OracleFormBuilder各种函数精讲解析

OracleFormBuilder各种函数精讲解析Form属性、内置子程序、触发器、系统变量一、属性1.1 通用属性名称(Name)子类信息(Subclass Information)备注(Comments)标题(Title)方向(Direction)字体名称(Font Name)字体大小(Font Size)字体粗细(Font Weight)字体风格(Font Style)字体间距(Font Spacing)前景色(Foreground)背景色(Background)填充图案(Fill Pattern)字符模式逻辑属性(Character Mode Logical Attribute)黑底白字(White on Black)视觉属性组(Visual Attribute Group)当前记录视觉属性组(Current Record Visual Attribute Group?/div> 宽度(Width)高度(Height)立体(Bevel)显示水平滚动条(Show Horizontal Scroll Bar)显示垂直滚动条(Show Vertical Scroll Bar)可见(Visible)X轴坐标(X Position)Y轴坐标(Y Position)启用(Enabled)标签文本(Label)允许查询(Query Allowed)允许插入(Insert Allowed)允许更新(Update Allowed)显示滚动条(Show Scroll Bar)带滚动条画布(Scroll Bar Canvas)滚动条标签页(Scroll Bar Tab Page)滚动条方向(Scroll Bar Orientation)滚动条的X轴坐标(Scroll Bar X Position)滚动条的Y轴坐标(Scroll Bar Y Position)滚动条的宽度(Scroll Bar Width)滚动条的高度(Scroll Bar Height)反转方向(Reverse Direction)显示的记录数(Number of Records Displayed)提取的最大记录数(Maximum Records Fetched)最大查询时间(Maximum Query Time)最大长度(Maximum Length)固定长度(Fixed Length)大小写限制(Case Restriction)列名(Column Name)自动跳离(Automatic Skip)折行风格(Wrap Style)数据类型(Data Type)记录间的距离(Distance Between Records)图标文件名(Icon Filename)需要(Required)帮助提示(Hint)1.2 表格模块对象属性控制台窗口(Console Window)菜单源(Menu Source)菜单模块(Menu Module)初始菜单(Initial Menu)菜单风格(Menu Style)推迟实行“需要”属性(Defer Required Enforcement)菜单角色(Menu Role)鼠标导航限制(Mouse Navigation Limit)第一导航数据块(First Navigation Data Block)验证单元(Validation Unit)交互模式(Interaction Mode)孤立模式(Isolation Mode)坐标系统(Coordinate System)字符单元宽度(Character Cell Width)字符单元高度(Character Cell Height)实体单位(Real Unit)使用3D控件(Use 3D Controls)表格水平工具条画布(Form Horizontal Toolbar Canvas)表格垂直工具条画布(Form Vertical T oolbar Canvas)保存点模式(Savepoint Mode)1.3 触发器对象属性触发器风格(Trigger Style)触发器文本(Trigger Text)在输入-查询模式中触发(Fire in Enter-Query Mode)执行层次(Execution Hierarchy)在“键盘帮助”中显示(Display in ‘Keyboard Help’)“键盘帮助”文本(‘Keyboard Help’Text)触发器类型(Trigger Type)1.4 警告对象属性信息(Message)警告风格(Alert Style)按钮1标签(Button1 Label)按钮2标签(Button2 Label)按钮3标签(Button3 Label)缺省警告按钮(Default Alert Button)1.5 数据块对象属性导航器风格(Navigation Style)前一个导航数据块(Previous Navigation Data Block)下一个导航数据块(Next Navigation Data Block)查询数组大小(Query Array Size)缓冲的记录数(Number of Records Buffered)查询所有记录(Query All Records)记录方向(Record Orientation)单记录(Single Record)数据库数据块(Database Block)使用主键(Enforce Primary Key)查询数据源类型(Query Data Source Type)查询数据源名称(Query Data Source Name)查询数据源列(Query Data Source Columns)查询数据源参数(Query Data Source Arguments)WHERE子句(WHERE Clause)ORDER BY子句(ORDER BY Clause)优化提示(Optimizer Hint)锁定模式(Locking Mode)允许删除(Delete Allowed)键模式(Key Mode)仅更新修改的列(Update Changed Columns Only)实行列安全控制(Enforce Column Security)DML数据目标类型(DML Data Target Type)DML数据目标名称(DML Data Target Name)插入过程名称(Insert Procedure Name)插入过程结果集列(Insert Procedure Result Set Columns)插入过程参数(Insert Procedure Arguments)更新过程名(Update Procedure Name)更新过程结果集列(Update Procedure Result Set Columns)更新过程参数(Update Procedure Arguments)删除过程名(Delete Procedure Name)删除过程结果集列(Delete Procedure Result Set Columns)删除过程参数(Delete Procedure Arguments)锁定过程名(Lock Procedure Name)锁定过程结果集列(Lock Procedure Result Set Columns)锁定过程参数(Lock Procedure Arguments)DML数组大小(DML Array Size)预计算汇总(Precompute Summaries)在数据块菜单中列出(Listed In Block Atribute)数据块描述(Data Block Description)1.6 项对象属性项类型(Item Type)对齐(Justification)多行(Multi-Line)隐藏数据(Conceal Data)保持光标位置(Keep Cursor Position)弹出式菜单(Popup Menu)文件名(Filename)执行模式(Execution Mode)通讯模式(Communication Mode)数据源数据块(Data Source Data Block)数据源X轴(Data Source X Axis)数据源Y轴(Data Source Y Axis)提交时更新(Update on Commit)复选时的值(Value when Checked)未复选时的值(Value when Unchecked)其它值的复选框映射(Check Box Mapping of Other Values)图象格式(Image Format)图象深度(Image Depth)压缩质量(Compression Quality)显示质量(Display Quality)显示面板(Show Palette)大小风格(Sizing Style)列表中的元素(Elements in List)列表风格(List Style)访问键(Access Key)图标化(Iconic)缺省按钮(Default Button)声音格式(Sound Format)音频通道(Audio Channels)压缩(Compress)声音质量(Sound Quality)可用键盘导航(Keyboard Navigable)前一个导航项(Previous Navigation Item)下一个导航项(Next Navigation Item)鼠标导航(Mouse Navigate)初始值(Initial Value)格式掩码(Format Mask)最高允许值(Highest Allowed Value)最低允许值(Lowest Allowed Value)从项中复制值(Copy Value from Item)用项同步化(Synchronize with item)计算模式(Calculation Mode)公式(Formula)汇总函数(Summary Function)汇总块(Summarized Block)汇总项(Summarized Item)显示的项数(Number of Item Displayed)主键(Primary Key)仅查询(Query Only)查询长度(Query Length)不区分大小写的查询(Case Insensitive Query)仅为NULL则更新(Update Only if NULL)锁定记录(Lock Record)值列表(List of Values)列表X轴位置(List X Position)列表Y轴位置(List Y Position)编辑器(Editor)编辑器的X轴位置(Editor X Position)编辑器的Y轴位置(Editor Y Position)画布(Canvas)标签页(Tab Page)释放(Rendered)显示播放按钮(Show Play Button)显示录制按钮(Show Record Button)显示倒回按钮(Show Rewind Button)显示快进按钮(Show Fast Forward Button)显示音量控制(Show Volume Control)显示时间显示器(Show Time Indicator)显示滑杆(Show Slider)提示(Prompt)提示显示风格(Prompt Display Style)提示文本对齐(Prompt Justification)提示附件边缘(Prompt Attachment Edge)提示对象对齐(Prompt Alignment)提示附件偏移(Prompt Attachment Offset)提示对象对齐偏移(Prompt Alignment Offset)提示阅读顺序(Prompt Reading Order)提示视觉属性组(Prompt Visual Attribute Group)提示字体名(Prompt Font Name)提示字体大小(Prompt Font Size)提示字体粗细(Prompt Font Weight)提示字体风格(Prompt Font Style)提示字体间距(Prompt Font Spacing)提示前景色(Prompt Foreground Color)提示背景色(Prompt Background Color)提示填充图案(Prompt Fill Pattern)提示(Hint)自动显示提示(Display Hint Automatically)工具提示(T ooltip)工具提示视觉属性组(Tooltip Visual Attribute Group)初始键盘状态(Initial Keyboard State)读取顺序(Reading Order)键盘状态(Keyboard State)1.7 关系对象属性从数据块(Detail Data Block)关联条件(Join Condition)删除记录行为(Delete Record Behavior)防止无主记录操作(Prevent Masterless Operations)协调(Coordination)协调状态(Coordination States)1.8 画布对象属性画布类型(Canvas Type)输入时置前(Raise On Entry)弹出式菜单(Popup Menu)窗口(Window)画布上的视图端口X轴位置(Viewport X Position Canvas)画布上的视图端口Y轴位置(Viewport Y Position Canvas)视图端口的X轴位置(Viewport X Position)视图端口的Y轴位置(Viewport Y Position)视图端口高度(Viewport Height)视图端口宽度(Viewport Width)标签风格(Tab Style)标签附件边缘(Tab Attachment Edge)1.9 框架对象属性布局数据块(Layout Data Block)更新布局(Update Layout)布局风格(Layout Style)框架对齐(Frame Alignment)单对象对齐(Single Object Alignment)水平边距(Horizontal Margin)垂直边距(Vertical Margin)水平对象偏移(Horizontal Object Offset)垂直对象偏移(Vertical Object Offset)允许扩展(Allow Expansion)收缩包容(Shrink wrap)垂直填充(Vertical Fill)每行最多对象数(Maximum Objects Per Line)起始提示对齐(Start Prompt Alignment)起始提示偏移(Start Prompt Offset)顶部提示对齐(T op Prompt Alignment)顶部提示偏移(T op Prompt Offset)允许多行提示(Allow Multi-Line)允许顶部-附加提示(Allow Top-Attached)允许起始-附加提示(Allow Start-Attached)框架标题(Frame Title)框架标题对齐(Frame Title Alignment)框架标题偏移(Frame Title Offset)框架标题间隔(Frame Title Spacing)框架标题阅读顺序(Frame Title Reading Order)滚动条对齐(Scroll Bar Alignment)框架标题视觉属性组(Frame Title Visual Attribute Group)1.10 标签页对象属性1.11 编辑器对象属性底部标题(Bottom Title)1.12 值表(Lovs)对象属性列表类型(List Type)记录组(Record Group)列映射属性(Column Mapping Properties)显示之前过滤(Filter Before Display)自动显示(Automatic Display)自动刷新(Automatic Refresh)。
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数据库是一种关系型数据库管理系统(RDBMS),广泛应用于企业级应用中。
除了存储和管理数据外,Oracle还提供了许多强大的内置函数和操作符,可以进行各种数学运算。
本文将重点介绍Oracle中的字符串数学运算,包括字符串转换为数字、字符串连接、字符串分割和替换等。
首先,我们来探讨如何将字符串转换为数字。
在数据库中,字符串与数字之间的转换是很常见的操作。
Oracle提供了一组函数来实现这一目的。
其中最常用的函数是TO_NUMBER()函数,它可以将一个字符串转换为一个数值类型。
例如,假设我们有一个字符串变量var1,它包含了一个数字字符串'12345',我们可以使用TO_NUMBER(var1)来将它转换为数值类型。
除了TO_NUMBER()函数,还有其他一些函数可以实现不同类型的字符串到数值的转换。
例如,如果字符串包含一个浮点数,可以使用TO_BINARY_DOUBLE()函数将其转换为二进制双精度数。
如果字符串包含科学计数法表示的数字,可以使用TO_NUMBER()函数,并指定指数表达式的分隔符。
接下来,我们来讨论字符串连接操作。
在编程中,我们经常需要将多个字符串连接在一起,形成一个新的字符串。
在Oracle中,可以使用字符串连接操作符' '来实现这一功能。
例如,假设我们有两个字符串变量var1和var2,我们可以使用var1 var2来将它们连接在一起。
如果var1的值为'Hello',var2的值为'World',那么var1 var2将返回一个新的字符串'HelloWorld'。
此外,Oracle提供了一些内置的函数来处理字符串连接。
其中最常用的函数是CONCAT()函数,它接受两个字符串参数,并返回它们的连接结果。
例如,CONCAT('Hello','World')将返回新的字符串'HelloWorld'。
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);。
rownum函数

rownum函数rownum数,在 Oracle据库中是一种主要的内置函数,它能够为任何用于从数据库中检索的查询提供行号。
ROWNUM用于 Oracle据库的每一行,而且有着多种应用。
它能够实现在查询中提取前几个行,跳过一段行,有效避免用户对于查询结果进行排序,从而提高 SQL询性能。
ROWNUM运行机理是将数据库中每一行作为一个号码,这样有助于将一个复杂的数据库表进行编号,便于进行管理和检索,提高了查询的效率和性能。
ROWNUM数具有三种类型的应用,即简单型,分段型和组合型。
简单型应用是在 Oracle 中常用的方式,它使用ROWNUM来限制结果。
比如,下面的SQL查询将只返回10行:SELECT * FROM table WHERE ROWNUM<=10;分段型应用则能够实现跳过一段行,然后从另一行读取后面的一些行。
比如,要跳过前 10,然后获取另外 10,可以使用下面的 SQL 句来实现:SELECT * FROM table WHERE ROWNUM BETWEEN 11 AND 20;组合型应用可以将简单型和分段型相结合,从而实现限定范围内的查询结果。
比如,要跳过前 10,然后获取后 5,就可以用下面的 SQL 句:SELECT * FROM table WHERE ROWNUM BETWEEN 11 AND 15;另外,ROWNUM可以用来实现排序。
比如,要对数据库表中所有行按照某个字段进行排序,就可以使用下面的 SQL句:SELECT * FROM table ORDER BY ROWNUM;此,就可以按照自己想要的顺序提取查询结果。
由于 ROWNUM数支持多种应用,因此,它也得到了越来越多的应用,尤其是在 SQL句中实现排序、范围查询等功能时。
ROWNUM数可以大大提高 SQL询的效率和性能,减少排序的负荷,从而更有效地节省系统资源。
总的来说,ROWNUM数是 Oracle据库中最重要的内置函数之一,它为大量的应用提供了极大的帮助,使得 Oracle据库实现了更高效率地检索和排序。
oracle replace正则

oracle replace正则Oracle是一种关系数据库管理系统,它提供了许多强大的功能和工具来处理和管理数据。
其中一个常用的功能是使用正则表达式进行字符串替换。
在本文中,我们将探讨如何在Oracle中使用正则表达式的replace函数来进行字符串替换。
replace函数是Oracle数据库中的一个内置函数,它用于将一个字符串中的指定子字符串替换为另一个字符串。
正则表达式是一种强大的模式匹配工具,可以用于在字符串中查找和替换符合特定模式的子字符串。
通过结合replace函数和正则表达式,我们可以轻松地在Oracle数据库中进行复杂的字符串替换操作。
让我们来了解一下replace函数的基本语法。
它接受三个参数:原字符串、要替换的子字符串和用于替换的新字符串。
下面是replace 函数的基本语法:replace(原字符串, 要替换的子字符串, 用于替换的新字符串)例如,假设我们有一个包含日期的字符串,我们想将其中的日期格式从"YYYY-MM-DD"改为"MM/DD/YYYY"。
我们可以使用replace函数和正则表达式来实现这个目标。
下面是具体的SQL查询语句:SELECT REPLACE(原字符串, '(\d{4})-(\d{2})-(\d{2})', '\2/\3/\1') FROM 表名;在上面的查询语句中,我们使用了正则表达式'(\d{4})-(\d{2})-(\d{2})'来匹配日期格式"YYYY-MM-DD"。
其中,'\d{4}'表示四个数字,'\d{2}'表示两个数字。
通过使用括号将这些正则表达式括起来,我们可以在替换字符串中引用它们。
'\2'表示第二个括号中匹配的子字符串,'\3'表示第三个括号中匹配的子字符串,'\1'表示第一个括号中匹配的子字符串。
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) 神奇 的函数 啊,该函 数返回字 符串参数 的语音表 示形式, 对于比较 一些读音 相同,但 是拼写不 同的单词 非常有用 。计算语 音的算法 如下:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值处理类
日期处理类
字符处理类
字符集处理类
类型转换类
其他处理类
新增函数
部分示例
1、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
--------
weather
wether
2、BFILENAME(dir, file)
SQL>insert into file_tb1 values(bfilename('lob_dir1','image1.gif'));
3、CONVERT('x','desc','source')
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# USERNAME 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
4、DUMP(s, fmt, start, length)
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
5、UID
SQL> show user
USER 为"GAO"
SQL> select username,user_id from dba_users where user_id=uid;
USERNAME USER_ID
------------------------------ ---------
GAO 25
6、USER
SQL> select user from dual;
USER
------------------------------
GAO
7、USEREVN
SQL> select userenv('isdba') from dual;
USEREN
------
FALSE
SQL> select userenv('isdba') from dual;
USEREN
------
TRUE
SQL> select userenv('sessionid') from dual;
USERENV('SESSIONID')
--------------------
152
SQL> select userenv('entryid') from dual;
USERENV('ENTRYID')
------------------
SQL> select userenv('instance') from dual;
USERENV('INSTANCE')
-------------------
1
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
---------------------------------------------------- SIMPLIFIED CHINESE_CHINA.ZHS16GBK
SQL> select userenv('lang') from dual;
USERENV('LANG')
---------------------------------------------------- ZHS
SQL> select userenv('terminal') from dual;
USERENV('TERMINA
----------------
GAO。