WEB开发网
开发学院数据库Oracle Oracle数据库入门之函数/类型 阅读

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

 2012-11-28 15:25:44 来源:WEB开发网   
核心提示: Oracle主要数据类型概述:各种数据库所支持的数据类型大同小异,与标准SQL语言中的数据类型可能略有出入类型:varchar2:可以在声明字段时设置它的长度上限,Oracle数据库入门之函数/类型,而且使用它之后,就不必再考虑空格的存在若插入的字符串的长度低于长度上限,控制数据的输出格式设置和改变日期的显示格式,进

 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多路分支逻辑等等

1 2 3  下一页

Tags:Oracle 数据库 入门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接