博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle小测试
阅读量:4681 次
发布时间:2019-06-09

本文共 2626 字,大约阅读时间需要 8 分钟。

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

转载于:https://www.cnblogs.com/tuhooo/p/5779649.html

你可能感兴趣的文章
eclipse左侧不见
查看>>
python会缓存小的整数和短小的字符
查看>>
格网与四叉树索引
查看>>
多张照片拍摄、图片浏览
查看>>
html(5) css
查看>>
Azure Web连接到Azure MySql Db
查看>>
Linux shell 命令判断执行语法 ; , && , ||
查看>>
vim代码格式化插件clang-format
查看>>
RTP Payload Format for Transport of MPEG-4 Elementary Streams over http
查看>>
Aurora — 一个在 MSOffice 内输入 LaTeX 公式的很好用插件
查看>>
关于sql优化的一个小总结
查看>>
Java语言中的正则表达式
查看>>
Java环境变量设置
查看>>
【JBPM4】判断节点decision 方法3 handler
查看>>
filter 过滤器(监听)
查看>>
Linux进程间通信---共享内存
查看>>
Computer Information
查看>>
交换机/路由器上的 S口 F口 E口
查看>>
P1298(矩阵切割)DP
查看>>
wzplayer for delphi demo截图
查看>>