1、请解释以下几个函数意思:NVL、TRUNC、DECODE、TO_DTAE、TO_CHAR、CONVERT、ROUND、TRIM、ISNULL、SUBSTR、GROUP BY、HAVING

答:

NVL用于对查询来出来为空值的字段, 输出一个预设的默认值,常见的用法是:

NVL(arg, value), 即如果arg不为空值,那么输出的是arg的值; 如果arg为空,则输出的是value的值,

此外还有个函数为NVL2, 其用法是NVL2(expr1, expr2, expr3),如果表达式expr1的值不为空,则输出表达式expr2的值, 如果expr1为空, 则输出expr3的值。

TRUNC

可用于根据给定的格式对日期进行截取, 其用法是TRUNC(date[,format]),如果format被省略, 则截断到最近的天;另外也可用对数字进行处理,指定小数被截取的部分。

DECODE是根据条件值来选择返回的结果,类似于IF-ELSE语句,其用法是:

decode(条件, 值1, 返回值1, 值2, 返回值2, …, 值n, 返回值n,缺省值)

根据条件计算的结果, 来选择返回的值, 匹配那个就返回那个, 如果一个都不匹配, 则返回的是缺省值。

TO_DATE函数可以将CHAR或者VARCHAR2类型的值转换为DATE类型的值, 使用方法为:

TO_DATE(str[,format])

TO_CHAR可将输入值(数字或者日期)转换成一个VARCHAR2的字符串,常见的用法为:

TO_CHAR(number|date, [format])

CONVERT函数的转换是用于将字符串从一个字符集转化为另一个字符集,其用法为:

CONVERT(char, dest_char_set [, source_char_set]),其中char表示要转换的字符串,dest_char_set表示要转换成的目的字符集,source_char_set是char的原本字符集,如果缺省,则默认是数据库的字符集。

ROUND函数用于对数字进行四舍五入的, 其用法为:

ROUND(number, num_digits), 其中number是需要进行四舍五入的数字;num_digits为指定的位数,按此位数进行四舍五入,如果 num_digits 大于 0,则四舍五入到指定的小数位,如果 num_digits 等于 0,则四舍五入到最接近的整数,如果 num_digits 小于 0,则在小数点左侧进行四舍五入

TRIM主要用于去除指定字符的前后的空格,其用法为TRIM(str)

另外LTRIM是去除字符串左边的空格, RTRIM是去除字符串右边的空格

ISNULL好像不是oracle里面的函数, 不过和oracle中NVL的作用类似, 即用指定的值替换NULL, 其用法为:

ISNULL(expr, repexpr),如果expr不为空则返回expr, 否则用repexpr 来代替expr。

SUBSTR用于返回给定字符串的一个子串, 其用法为:

SUBSTR(str, b,len), 其中str为待截取的字符串,b是截取开始的位置,len是截取长度

GROUP BY是为了进行分组统计查询, 用法是:

GROUP BY expr, 即查询的结果以expr来分组, expr可以有很多组,进行层次分组; 另外select列表除了分组函数的参数列不出现在GROUP BY的子句中, 其余的都要在GROUP BY中出现

HAVING是对GROUP BY分组结果进行进一步的过滤, HAVING子句只能应用在GROUP BY的子句后面,不能使用WHERE子句来代替HAVING子句,否则会引起异常。

2、什么是表空间?

答:

oracle的数据实际是存在于数据文件(data files)中, 而表空间是一个逻辑概念,实际上并不存在, 当一组data files组合在一起就成了表空间。 一个oracle数据库能够有一个或者多个表空间, 而一个表空间则对应着一个或者多个物理文件。表空间是oracle 数据库恢复的最小单位, 里面有许多数据库的实体, 比如说表, 视图, 索引, 聚簇,回退段和临时段等。

可以把oracle数据库看作一个实在房间,表空间可以看作这个房间的空间,是可以自由分配,在这空间里面可以堆放多个箱子(箱子可以看作数据库文件),箱子里面再装物件(物件看作表)。用户指定表空间也就是你希望把属于这个用户的表放在那个房间(表空间)里面。

表空间的作用能帮助DBA用户完成以下工作:

1.决定数据库实体的空间分配;

2.设置数据库用户的空间份额;

3.控制数据库部分数据的可用性;

4.分布数据于不同的设备之间以改善性能;

5.备份和恢复数据。

用户创建其数据库实体时其必须于给定的表空间中具有相应的权力,所以对一个用户来说,其要操纵一个ORACLE数据库中的数据,应该:

1.被授予关于一个或多个表空间中的RESOURCE特权;

2.被指定缺省表空间;

3.被分配指定表空间的存储空间使用份额;

4.被指定缺省临时段表空间,建立不同的表空间,设置最大的存储容量。

3、什么是同义词?

答:

Oracle数据库中提供了同义词管理的功能。同义词是数据库方案对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、同义词、序列、存储过程、包等等,数据库管理员都可以根据实际情况为他们定义同义词。

Oracle同义词有两种类型,分别是公用Oracle同义词与私有Oracle同义词。

公用Oracle同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。

私有Oracle同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。

oracle小测试的更多相关文章

  1. python操作oracle小测试

    首先使用python操作数据库需要导入cx_Oracle包import cx_Oracle这个包需要单独下载,下载地址:https://pypi.python.org/pypi/cx_Oracle使用 ...

  2. Cad 二次开发关于SelectCrossingPolygon和SelectFence返回结果Status为error的小测试

    CAD2008的二次开发,有个很奇怪的现象,只要你选择的点集不在当前视图上SelectCrossingPolygon和SelectFence返回结果Status就会为error,所以要获取正确的结果, ...

  3. Win环境下Oracle小数据量数据库的物理备份

    Win环境下Oracle小数据量数据库的物理备份 环境:Windows + Oracle 单实例 数据量:小于20G 重点:需要规划好备份的路径,建议备份文件和数据库文件分别存在不同的存储上. 1.开 ...

  4. Oracle DG测试failover和后续恢复报告

    Oracle DG测试failover和后续恢复报告 一.概述 二.验证过程: 2.1 A库异常关闭 2.2 B库进行failover切换为新主库 2.3 要求C库成为新主库的备库 2.4 要求A库成 ...

  5. loadrunner 脚本开发-调用java jar文件远程操作Oracle数据库测试

    调用java jar文件远程操作Oracle数据库测试 by:授客 QQ:1033553122 测试环境 数据库:linux 下Oracle_11g_R2 Loadrunner:11 备注:想学ora ...

  6. Oracle 小技巧

    Oracle小技巧 ###add at 18-10-11 1  ed 在sqlplus当中 如果前一条语句输入有误的话 可以输入ed再回车.在进行编辑 输入ed后有弹窗,可以对之前的输入语句进行编辑 ...

  7. python 程序小测试

    python 程序小测试 对之前写的程序做简单的小测试 ... # -*- encoding:utf-8 -*- ''' 对所写程序做简单的测试 @author: bpf ''' def GameOv ...

  8. Oracle数据库测试和优化最佳实践: OTest介绍 (转)

    当前Oracle数据库最佳测试工具OTest *  Otest是用于Oracle数据库测试.优化.监控软件. *  Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...

  9. PHP中使用PDO操作事务的一些小测试

    关于事务的问题,我们就不多解释了,以后在学习 MySQL 的相关内容时再深入的了解.今天我们主要是对 PDO 中操作事务的一些小测试,或许能发现一些比较好玩的内容. 在 MyISAM 上使用事务会怎么 ...

随机推荐

  1. HGE引擎之hgeSprite

    一.hgeSprite类 hgeSprite是一个精灵实体的HGE帮助类. 1.构造函数 创建和初始化一个hgeSprite对象. hgeSprite(HTEXTURE tex, float x, f ...

  2. java设置环境变量小工具

    unit MainUnit; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo ...

  3. 第一轮复习Servlet day04

    * 数据的传送接收:后台通过request发送:req.setAttribute("emps", list); req.getRequestDispatcher("emp ...

  4. Virtualbox后台管理之VBoxManage

    Virtualbox是提供了后台启动的.只是不是默认的. 查看有哪些虚拟机 VBoxManage list vms 查看虚拟的详细信息 VBoxManage list vms --long 查看运行着 ...

  5. Wall Street English

    1月23号,报名Wall Street English!

  6. SQLServer学习笔记<>日期和时间数据的处理(cast转化格式、日期截取、日期的加减)和 case表达式

    日期和时间数据的处理. (1)字符串日期 ‘20080301’,这一串为字符串日期,但必须保证为四位的年份,两位的月份,两位的日期.例如,查询订单表日期大于‘20080301’.可以这样写: 1 se ...

  7. jquery ui 常用(一)(自动完成 | 标签页 | 折叠面板 | 带图标的按钮 | 日期选择器| )

    条件,引用3个文件 jquery-ui.min.css; jquery.min.js; jquery-ui.min.js. 一.自动完成 http://www.w3cschool.cc/jqueryu ...

  8. java 面试每日一题2

    题目:输入一行字符,分别统计出其中英文字母.空格.数字和其它字符的个数. 注:如果想单独输出中文的个数和中文符号的个数,只需把isChinese()中的if语句修改 知识补充: java不像C中拥有s ...

  9. 使用butterknife zelezny插件时必须保证已导入butterKnife的库工程。

    使用butterknife zelezny插件时必须保证已导入butterKnife的库工程. 另外需要把光标定位到setContentView(R.layout.activity_main);中的a ...

  10. js编程-面相对象

    //js面相对象编程 //定义constructor构造方法 function myFn(name,sex){ this.name = name; this.sex = sex; } //用proto ...