Oracle数据库入门之函数/类型

  次阅读 作者:智能小宝 来源:互联网 2016-01-28 13:20 我要评论(0)

Oracle主要数据类型

概述:各种数据库所支持的数据类型大同小异,与标准SQL语言中的数据类型可能略有出入

类型:varchar2:可以在声明字段时设置它的长度上限。而且使用它之后,就不必再考虑空格的存在

若插入的字符串的长度低于长度上限,系统就会自动将其缩减为字符串的真实长度

number(m,n):既可以用来表示整型,也可以表示浮点型。但m不可以超过38。如果n为0或者省略n,就代表它是整数

date:用来存放日期和时间

blob:通常是在应用程序中使用到它,而不是在数据库中利用SQL指令直接使用

比如通过JDBC技术访问数据库,读写blob或clob类型的字段,即读写长的字符串信息等等

char:它是一种定长的字符类型。在Oracle数据库不区分字符和字符串,它们被统称为字符型或文本型

所谓定长的字符型是指,插入的字符串若没有达到约定的字段长度,系统就会在字符串尾部自动补空格

同样,读取时的字段长度永远是声明时的字段长度。而且在比较字符串内容的时候,也需要考虑到空格的过滤

nchar:它也是定长的字符串类型,它是SQL语言标准中规定的,通常采用Unicode编码来保存不同国家或不同语言的字符

varchar:SQL标准在定义varchar时并没有保证能够向前和向后兼容,即有可能随着语言标准的修改而产生不兼容的问题

所以Oracle定义了同varchar型类似的varchar2型。就是为了在Oracle以后的版本中,都永远支持varchar2类型

Oracle这么做就是为了确保此类型向前后兼容,以达到能够在Oracle系列数据库中进行数据的导入和导出的目的

long:它和varchar2的差别在于,它不支持对字符串内容进行检索,即查询时不可以对它的内容进行条件查询

而varchar2和char、nchar型等等都可以在查询的时候直接检索字符串的内容

补充:select * from v$nls_parameters;数据库的配置信息以数据表的形式存在,通常称其为关于数据的数据或数据字典

实际上它查询的是数据字典中的一个视图。其中NLS_CHARACTERSET对应的是当前的数据库字符集

缺省均为使用数据库字符集。教程中使用的是安装时默认的ZHS16GBK字符集,即汉字占2个字节,英文占1个字节

而NLS_NCHAR_CHARACTERSET对应的是nchar或nvarchar2类型所采用的辅助字符集,即AL16UTF16字符集

实际上AL16UTF16是一种16位定长的Unicode编码的字符集。而数据库字符集以及这种国家字符集都可以修改

数据库字符集修改后可能会面临很严重的后果,除非是数据库管理员,普通用户不必对这方面进行深究

数据库中的数据导入导出的时候,如果源数据库和目标数据库所采用的字符集不同,也很容易出问题

函数

概述:函数可以认为是能够完成相对独立的功能的一段代码的集合。Oracle函数相当于其它语言中的方法或过程

Oracle函数可以分为单行函数和多行函数两大类。Oracle函数都是有返回值的

所谓的单行函数是针对查询结果中的每一行都起作用,都会返回一个结果

多行函数也就是所谓分组函数,是针对一组查询的记录,或者说多行,返回一个结果

单行:操作数据项,接受参数并返回处理结果,对每一返回行均起作用,可修改数据类型,可嵌套使用

单行函数分为字符函数,数值函数,日期函数,转换函数,通用函数

多行:也称分组函数,即对一组数据进行运算,针对一组数据(多行记录)只能返回一个结果

多行函数包括avg()、count()、max()、min()、sum()等

比如select avg(sal), max(sal), min(sal), sum(sal), max(hiredate), min(hiredate) from emp;

续一:使用Oracle的系统函数中的单行函数可实现诸多功能,如对数据进行计算,控制数据的输出格式

设置和改变日期的显示格式,进行数据类型转换,使用NVL等函数处理空值,实现IF-THEN-ELSE多路分支逻辑等等

续二:转换函数不会改变表中数据的字段类型和值。它就相当于将数据复制了一份,所转换的是复制之后的数据

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...