《Oracle10g数据库建模与设计.docx》由会员分享,可在线阅读,更多相关《Oracle10g数据库建模与设计.docx(32页珍藏版)》请在三一办公上搜索。
1、目录目录1第1章 数据库概述11.1 数据库系统概述11.1.1 信息、数据与数据库11.1.2 数据管理技术的发展21.1.3 数据库系统(Database System DBS)的组成21.1.4 数据库系统的模式结构31.1.5 数据库系统的特点41.2 数据模型41.3 数据描述51.4 关系数据库61.5 数据库管理系统61.5.1 几个常用的数据库管理系统61.5.2 Oracle数据库简介61.5.3 Oracle 10g数据库系统及Navicat的安装71.6 本章知识点总结9第2章 Oracle 10g数据库的SQL语言与查询102.1 SQL语言概述102.2 Oracle
2、 10g数据库的数据类型、运算符和表达式102.2.1 简单数据类型102.2.2 运算符102.2.3 表达式102.3 Oracle 10g的SELECT查询语句102.3.1 简单查询(selectfrom结构)102.3.2 带条件的简单查询(selectfromwhere结构)112.3.3 单表查询的应用112.3.4 多表查询122.3.5 子查询122.3.6 作业13第1章 数据库概述1.1 数据库系统概述1.1.1 信息、数据与数据库信息是一种已经被加工为特定形式的数据,数据是信息的载体和具体表现形式,信息不随数据形式的变化而变化。很多人认为数据就是数(数字组成),实际上数
3、据的有很多种形式:文字、数字、声音、图像等。 数据和信息时两个相互联系但又相互区别的概念,数据是信息的具体表现形式,信息时数据有意义的表现,而数据库是一个可以共享的、存储在计算机内的、有组织的数据集合。1.1.2 数据管理技术的发展数据管理技术的发展分为:人工管理、文件管理、数据库管理(分布式数据库管理、面向对象的数据库管理)等几个阶段。1、 人工管理阶段 2、 文件管理阶段3、 数据库管理阶段4、 三个阶段数据管理技术比较1.1.3 数据库系统(Database System DBS)的组成数据库系统由计算机硬件、数据库管理系统(DBMS)(及其开发工具)、数据库(DB)、应用程序和用户等几
4、部分组成。1、硬件平台有足够大的内存,存放OS、DBMS的核心模块、数据缓冲区和应用程序。有足够大的磁盘,存放数据库,并进行数据备份。有较高的通道能力,以提供高速的数据传输功能。2、软件平台DBMS:是数据库的建立、使用和维护所必需的系统软件。OS:支持DBMS的操作系统平台。程序设计语言:与数据库系统有接口的程序设计语言及其编译系统,用于开发应用程序。开发工具与环境:为数据库系统的开发和应用提供良好的环境。应用程序:为特定应用环境而开发的数据库应用系统。3、人员1)数据库管理员(DataBase Administrator,简称DBA):数据库系统需要有专门的人员来监督和管理。DBA负责全面
5、管理和控制数据库系统。具体职责包括:决定数据库中的信息内容和结构决定数据库的存储结构和存取策略定义数据的安全性要求和完整性约束条件监控数据库的使用和运行负责数据库的改进和重组重构工作2)系统分析员负责应用系统的需求分析和规范说明工作,要和用户以及DBA相互沟通,确定系统的硬件、软件配置,并参与数据库系统的概要设计。3)数据库设计员负责数据库中数据的确定、数据库各级模式的设计。数据库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。4)应用程序员负责设计和编写数据库应用系统的程序模块,并进行调试和安装。5)最终用户通过数据库应用系统的用户界面使用数据库。DBS:DBMSDBDBA1.1
6、.4 数据库系统的模式结构数据库系统的结构由内部级、概念级、外部级三级模式组成。1、内部级模式(内模式):最靠近物理存储器,是数据在数据库系统中的表示(即对数据的物理结构和存储方式的描述),是物理数据模型对数据的描述。2、概念级模式(模式):间于上述两者之间。它又称为逻辑模式,是用逻辑数据模型对一个单位的数据的描述,是数据库中的全体数据的逻辑结构和特性的描述。3、外部级模式(外模式):又称子模式或用户模式,是数据库用户看到的数据视图。最靠近用户,是用户和数据库的接口,设计有数据提供给用户的使用方式。支持以上三级模式的计算机程序就是数据库管理系统(DBMS)。数据库的三级模式结构图如下:4、三级
7、模式构成了两个映射1)外模式模式映象对于每一个外模式,数据库系统都有一个外模式模式映象,它定义了该外模式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。当模式改变时,由数据库管理员对各个外模式模式的映象作相应改变,可以使外模式保持不变,从而应用程序不必修改,保证了数据的逻辑独立性。2)模式内模式映象数据库中只有一个模式,也只有一个内模式,所以模式内模式映象是唯一的,它定义了逻辑结构与存储结构之间的对应关系。该映象定义通常包含在模式描述中。当数据库的存储结构改变了(例如采用了更先进的存储结构),由数据库管理员对模式内模式映象作相应改变,可以使模式保持不变,从而保证了数据的物理独立
8、性。1.1.5 数据库系统的特点1、实现数据共享、减少数据冗余2、采用特定的数据模型3、具有较高的数据独立性4、有统一的数据控制功能1.2 数据模型数据模型的作用是在计算机环境中把数据逻辑地组织成为数据库,使得用户能够有效地存取和处理数据。1、层次模型数据结构是有序的树型结构,基本特征是:(l)有且只有一个结点无双亲,该结点称为根结点;(2)其他结点有且只有一个双亲。R1是根结点,R2和R3是R1的子结点,因此它们是兄弟结点。R2、R4、R5是叶结点。2、网状模型 网状模型的特征是:(l)允许有一个以上的结点没有双亲;(2)结点可以有多于一个的双亲。3、关系模型1)关系模型中的数据在用户观点下
9、的逻辑结构是二维表,而关系模型是建立在集合代数的基础上的。在网状和层次模型中的联系都是通过指针来实现的,而在关系模型中的基本数据结构是表格,记录之间的联系是通过各个关系模式的关键码来体现的。以二维表格描述简单、易懂,用户只需简单查询语句就可以对数据库进行操作,并不涉及存储结构和访问技术的细节等。2)在关系模型中,关系具有以下基本特点:关系必须规范化,属性不可分割。在同一关系中不允许出现相同的属性名。在同一关系中元组及属性的顺序可以任意。任意交换两个元组(属性)的位置,不会改变关系模式。3)每个关系都有一个关系模式,它是该关系的关系名及其全部属性名的集合,一般表示为:关系名(属性名1,属性名2,
10、属性名n)1.3 数据描述1、计算机处理信息的过程 首先从现实世界中抽象出大量描述客观事物的信息,再对这些信息进行整理、分类和规范,进而将规范化的信息数据化,最终实现由数据库系统存储、处理。即客观世界信息世界数据世界2、实体与属性3、实体之间的关系1)一对一的联系(1:1),如班长与班级2)一对多的联系(1:n),如班级与学生3)多对多的联系(m:n),如教师与学生1.4 关系数据库1、关系数据库的定义 关系数据库是建立在关系模型基础上的数据库,它由一些相关的表和其它的数据库对象组成。这个定义包含了如下几层含义:1) 建立在关系模型基础上;2)信息被存放在表(二维表)中;3)表之间是相互联系的
11、;4)除了表之外,还有其它的数据库对象如索引、视图、存储过程等。2、关系数据库的主要功能和特征1)数据定义,定义和删除数据库中的表、索引、视图等数据库对象。2)数据操纵,实现对数据库中数据的操作,基本的操作有查询、数据插入、数据删除和数据修改。3)数据控制,主要控制数据库的安全,包括操作权限的用户密码和存储权限等。4)事务管理。3、几个概念 关系二维表;元组记录;属性字段;实体型、实体集。1.5 数据库管理系统1.5.1 几个常用的数据库管理系统ACCESS、SQL Server、FoxPro、Oracle、MySQL和Sybase等。ACCESS 是美国Microsoft公司于1994年推出
12、的微机数据库管理系统.它具有界面友好、易学易用、开发简单、接口灵活等特点,是典型的新一代桌面数据库管理系统。Oracle公司是全球最大的信息管理软件及服务供应商,成立于1977年,总部位于美国加州 Redwood shore。Oracle提供的完整的电子商务产品和服务包括: 用于建立和交付基于Web的Internet平台;综合、全面的具有Internet能力的商业应用; 强大的专业服务,帮助用户实施电子商务战略,以及设计、定制和实施各种电子商务解决方案。 .SQL是英文Structured Query Language的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,
13、进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。目前,绝大多数流行的关系型数据库管理系统,最大区别:ACCESS 的功能相对不是那么强大,主要是开发单机版软件中经常用到;SQL Server 是目前应用比较广泛和普遍的一款数据库,是数据库发展的一个里程碑。Oracle的功能是比较强大的,一般用于超大型管理系统软件的建立,现在的应用范围也已经比较广泛。1.5.2 Oracle数据库简介1、什么是Oracle数据库oracle数据库是一种大型数据库系统,一般应用于商业,
14、政府部门,它的功能很强大,能够处理大批量的数据,在网络方面也用的非常多。不过,一般的中小型企业都比较喜欢用SQL数据库系统,它的操作很简单,功能也非常齐全。只是比较oracle数据库而言,在处理大量数据方面有些不如。2、Oracle数据库的发展历程(时间可能不太准确,但大致差不多)1977年,Larry Ellison、Bob Miner和Ed Oates等人组建了Relational软件公司(Relational Software Inc.,RSI)。他们决定使用C语言和SQL界面构建一个关系数据库管理系统(Relational Database Management System,RDBM
15、S),并很快发布了第一个版本(仅是原型系统)。1979年,RSI首次向客户发布了产品,即第2版。该版本的RDBMS可以在装有RSX-11操作系统的PDP-11机器上运行,后来又移植到了DEC VAX系统。1983年,发布的第3个版本中加入了SQL语言,而且性能也有所提升,其他功能也得到增强。与前几个版本不同的是,这个版本是完全用C语言编写的。同年,RSI更名为Oracle Corporation,也就是今天的Oracle公司。1984年,Oracle的第4版发布。该版本既支持VAX系统,也支持IBM VM操作系统。这也是第一个加入了读一致性(Read-consistency)的版本。1985年
16、,Oracle的第5版发布。该版本可称作是Oracle发展史上的里程碑,因为它通过SQL*Net引入了客户端/服务器的计算机模式,同时它也是第一个打破640KB内存限制的MS-DOS产品。1988年,Oracle的第6版发布。该版本除了改进性能、增强序列生成与延迟写入(Deferred Writes)功能以外,还引入了底层锁。除此之外,该版本还加入了PL/SQL和热备份等功能。这时Oracle已经可以在许多平台和操作系统上运行。1991年,Oracle RDBMS的6.1版在DEC VAX平台中引入了Parallel Server选项,很快该选项也可用于许多其他平台。1992年,Oracle
17、7发布。Oracle 7在对内存、CPU和I/O的利用方面作了许多体系结构上的变动,这是一个功能完整的关系数据库管理系统,在易用性方面也作了许多改进,引入了SQL*DBA工具和database角色。1997年,Oracle 8发布。Oracle 8除了增加许多新特性和管理工具以外,还加入了对象扩展(Object Extension)特性。2001年,Oracle 9i release 1发布。这是Oracle 9i的第一个发行版,包含RAC(Real Application Cluster)等新功能。2002年,Oracle 9i release 2发布,它在release 1的基础上增加了集
18、群文件系统(Cluster File System)等特性。2003年9月,Oracle发布了Oracle 10g 这一版的最大的特性就是加入了网格计算的功能。该版本中Oracle的功能、稳定性和性能的实现都达到了一个新的水平。 2007年7月11日,Oracle发布了Oracle 11g Oracle 11g是甲骨文公司30年来发布的最重要的数据库版本根据用户的需求实现了信息生命周期管(Information sLifecycle Management)等多项创新。3、Oracle 10g的技术特点1)网格化管理2)自动存储管理3)可移植的集群组建4)支持高速无限带宽网络5)计算资源供应6)
19、共振1.5.3 Oracle 10g数据库系统及Navicat的安装1、安装Oracle 10g2、启动Oracle 10g的方法1)用ms-dos启动:在开始菜单中找“运行SQL命令行”,在SQL后输入连接数据库的命令“connect”,输入用户名、密码,密码是不回显的。2) 在开始菜单中找“转至数据库主页”,启动oracle的企业管理器 3) 执行命令:select table_name from user_tables;User_tables是oracle数据库自己的一个数据词典3、安装Navicat:安装navicat成功后,创建连接,设置OCI,具体做法是: 1)创建连接2)设置OC
20、I,如果不设置则navicat下的命令行等不可用菜单toolsoptionsOCI选定OCI后,设置两个路径如下:OCI library的路径:C:oraclexeapporacleproduct10.2.0serverBINoci.dllSQL*Plus的路径:C:oraclexeapporacleproduct10.2.0serverBINsqlplus.exe4、 Oracle安装成功后,新建一个用户root,用navicat把root.sql导入数据库1)创建用户的方法 首先要用system或sys用户登录,得到:然后得到输入用户信息的界面:注意:把角色、直接授予的系统权限中所有的选项
21、都选上。最后点击创建按钮,完成创建。2)对已经创建的用户还可以删除。3)用navicat把root.sql导入。1.6 本章知识点总结1、数据管理技术发展的几个阶段:人工管理阶段、文件管理阶段、数据库管理阶段、分布式数据库管理、面向对象的数据库管理。2、DBS包括:DBMS、DB、DBA等。3、数据库系统的模式:外模式、模式(概念模式)、内模式,它们构成了“外模式/模式”和“模式/内模式”两个映射。4、数据模型:层次模型、网状模型、关系模型。5、关系模式的表示方法:关系名(属性名1,属性名2,属性名n)6、关系数据库,建立在关系模型基础上,而形成的数据库。7、几个概念:关系二维表;元组记录;属
22、性字段8、常用的数据库管理系统:Oracle、 MySQL、SQL Server、DB2、Sybase 、FoxPro、ACCESS等等。第2章 Oracle 10g数据库的SQL语言与查询2.1 SQL语言概述 SQL(Structured Query Language)是一种结构化查询语言,简称为SQL。它是一种面向数据库的通用数据处理语言规范,能完成数据查询、插入修改删除数据、生成修改和删除数据库对象、数据库安全控制、数据库完整性及数据保护控制等。我们的重点是CRUD(create、research、update、delete)即增删改查。 SQL的优点:1)非过程化语言(只需告诉系统做
23、什么、而不需告诉它怎么做);2)统一的语言(DBMS为对数据库操作的全部任务都统一在SQL语言中);3)它是所有关系数据库的公共语言。2.2 Oracle 10g数据库的数据类型、运算符和表达式2.2.1 简单数据类型1、number(p, s) ,p是数字的整个位数,是小数点后的位数2、varchar2(n),表示可变长度的字符串且其最大长度为n,n不能超过4000。3、char(n),表示固定长度为n的字符串。4、date,表示日期,包括年份、月份。5、nvarchar2,不区分中英文,nvarchar2中存的英文字母也占两个字节。6、nchar,用Uicode字符集存储定长的字符数据。7
24、、CLOB:存储4GB单字节字符数据。(别用来存中文)8、BLOB:用来存储4GB无结构的二进制数据。9、timestamp10、binary_float11、binary_double2.2.2 运算符1、算术运算符:+、-、*、/2、比较运算符:=、!=()、=3、逻辑运算符:and、or、not4、范围运算符:betweenand、not betweenand5、列表运算符:in、not in6、is、not is2.2.3 表达式1、算术表达式:用算术运算符连接的表达式。2、关系表达式:用比较运算符连接的表达式。3、逻辑表达式:用逻辑运算符连接的表达式。2.3 Oracle 10g的S
25、ELECT查询语句1)查什么;2)从哪里查;3)需要什么条件1、查看表结构的命令:describe tablename; 或desc tablename;2.3.1 简单查询(selectfrom结构)1、基本格式如下 SELECT *|字段名列表 FROM 表名;2、举例: 1)select * from student; /查询所有行所有列 2)查询指定的某些列 3)查询结果显示时,有它们的默认显示规则,如日期型和字符型的左对齐,数值型的右对齐。 4)查询的时候可以使用算术运算符在select后,及对字段进行四则运算。select studentid,studentname,student
26、age+1 from student;|字符串连接运算符 5)排重distinct 6)给字段起别名select studentid 学号,studentname 姓名,studentsex 性别 from student; 或者select studentid as 学号,studentname as 姓名,studentsex as 性别 from student;2.3.2 带条件的简单查询(selectfromwhere结构)1、基本格式如下 SELECT *|字段名列表 FROM 表名WHERE 条件表达式;2、具体实例 1)单条件的查询 查询工资高于3000元的教工信息 selec
27、t * from teacher where salary3000 2)组合条件的查询 查询工资不低于3000元的女教工信息 select * from teacher where salary=3000 and sex=女2.3.3 单表查询的应用1、关键字DISTINCT的使用查询教师表看看有几个教研室 2、关键字BETWEENAND的使用查询总工资在4000,7000之间的教工信息select teachername,salary+bonus as 总工资 from teacher where salary+bonus between 4000 and 7000;3、通配符%和_的使用(
28、模糊查询) 注意:转义字符的使用。 like s_% escape :这里用到了转义字符,表示的意思是以“s_”开头的字符串,而s_% 等价于 s%select * from sc where studentid like s_% escape ; 注意:进行模糊查询时用like关键字,而不用等号=4、关键字NULL和NOT NULL的使用查询没有奖金的教工信息字段名 is not null对null或 not null查询时,不能用等号= 而用is5、用ORDER BY子句为查询结果排序(多字段排序)6、字段运算查询(可以对字段进行简单的算术运算,如+、-、*、/) 在navicat的命令行
29、,可以使用“set linesize 300;”命令来设置当行显示字符的数量。7、别名的使用 1)格式:字段名 AS 别名 2)注意:(1)别名不改变数据库的值。(2)如果别名中含有特殊字符(如:空格)和特殊的要求(如:所有字母大写显示等)要用双引号“”把别名引起来。 3)举例2.3.4 多表查询多表查询是指查询结果要从两个以上的表中检索结果,这里仅仅介绍一种简单的多表查询。1、 查询“李寻欢”所在部门的地址。2、 查询“杨过”所在部门的电话。或者select departmenttel from department where departmentid in (select departm
30、entid from teacher where teachername=杨过);注意:1)字符串只能用单引号,而不能用双引号”,双引号有特殊的用途。 2)in的用法3、分析总结: 1)注意给表起别名。 2)select的后字段名用“表名.字段名|表别名.字段名”表示,特别是查询结果中有的字段名在from后的表中都是相同的,那么这个字段名必须指出是哪个表的。如果没有这种现象,那么只用字段名即可。3)SQL 标准指定当为表名创建别名后,SQL 语句的其余部分必须使用该别名引用表(即不能再使用原始表名)。2.3.5 子查询如果一个select命令(查询1)出现在另一个select命令(查询2)的一
31、个子句中,则称查询1是查询2的子查询,又称为“嵌套查询”。外层的select语句称为“父查询”,内层的select语句称为“子查询”。子查询可以嵌套多层,子查询操作的数据表可以是父查询不操作的数据表。1、 查询所有高于杨康工资的教师信息。select * from teacher where salary(select salary from teacher where teachername=杨康);2、 查询出跟李寻欢在同一个教研室、而且工资大于王五的工资的所有教员的姓名和工资。练习:1、 查询与李寻欢在同一个教研室工作的教师的姓名。2、 查询不于低软件教研室任何一名教工工资的教工姓名SE
32、LECT TEACHERNAME FROM TEAchER where salary=all(select salary from teacher where staffroom=软件)3、 检索已经开设课程的部门信息3、特点:1)子查询的结果仅返回一行(一个)记录,这时可以用算术比较符:、=、=、 BETWEEN.AND. 、IN 、IS NULL、 NOT、 AND、 OR 、子查询 ORDER BY 字段1, 字段2 ASC|DESC第二天2.4 Oracle 10g单行函数和聚合函数 函数是一种有0个或多个参数并且有一个返回值的程序,Oracle的函数主要分为两大类:单行函数和聚合函数
33、(组函数)。SQL和PL/SQL中自带很多类型的函数,如字符、数字、日期、转换和混合型等多种函数用于处理单行数据,这些函数统称为单行函数,这些函数均可用于select、where、order by等子句中。当需要对查询结果的数据行的同类信息合并在一起操作时,就需要用聚合函数来汇总这些数据行;oracle提供了基于组的多行函数,它们可以在select或select的having子句中使用。2.4.1 单行函数单行函数对查询的表或视图的每一行返回一个结果行,分为:数值函数、字符函数、日期函数、转换函数等。单行函数也可以使用在update的set子句中、insert的values子句中、delete
34、的where子句中等,但重点是用在select子句。哑表:dual是oracle提供一个特使的表,主要用于测试函数。2.4.1.1 NVL函数因为在我们的表中经常会有null值出现,而null无法参与其它的运算,如salary+null是非法的,为了解决这个问题,系统提供了NVL函数专门处理null。1)该函数的格式:NVL(x1,x2)其中x1,x2都是表达式,当x1的值为null时返回x2的值,否则返回x1的值。2)举例,找出问题所在先看上述语句会出现什么问题,解决办法如下:注意:x1、x2的数据类型要相匹配。2.4.1.2 字符串函数1) ASCII(c):返回字符c的ASCII码值(十
35、进制数)。2) CHR(i):返回整数i对应的字符。3) CONCAT(C1,C2):连接字符串C1和C2。注意一个字符串的连接运算符:|,如:select 姓名:|teachername from teacher4) INITCAP(C):返回字符串C,并将C中的每个单词的第一个字母大写,其它字母小写。5) INSTR(C1,C2,i,j):在一个字符串中搜索指定的字符,返回发现指定的字符的位置。C1是被搜索的字符串,C2是搜索的字符串,i是搜索的开始位置(默认为1),j是出现的次数(默认为1)例如:求“oracle traing”中从第1个字符开始tr第2次出现的位置。Select ins
36、tr(oracle training,ra,1,2) from dual;6) LENGTH(C):返回字符串C的长度,注意一个汉字和一个字母的长度都是17) LOWER(C):返回字符串C的所有字符为小写。8) UPPER(C):返回字符串C的所有字符为大写。9) LPAD(C1, , C2):C1、C2均为字符串,i为整数。在C1的左侧用C2补足长度i,可多次重复;如果i小于C1的长度,只返回i那么长的C1字符,其它的被截去;C2的缺省值为单空格。例如:在字符串幸福的右边用*补足到10个字符,然后在结果的左边用&补足到17个字符。SQL select LPAD(Rpad(幸福,10,*),
37、17,&) FROM DUAL;说明:lpad是左填充,rpad是右填充。10) LTRIM(C)和RTRIM(C):分别是删除C的前导空格和删除C尾部空格。11) TRIM(C):既删除C的前导空格又删除C尾部的空格。12) SUBSTR(string,start,count):从母串string中取从start开始的count个字符作为一个子串返回。13) Replace(string,s1,s2):用s2替换出现在string中的s1字符串。 如:select replace(aabbccddeeaaa,aa,AA) FROM DUAL;14) TRANSLATE(C1,C2,C3):它
38、是分级替换的,具体做法如下:a) 若在C1中能找到与C2全部相同的,就用C3把相应的字符全部代替。(第一级)结果:b) 若在C1中能找到与C2部分相同的,就用C3中与C2对应位置上的字符代替(第二级)。可分如下三种情况:I) 若C2长度等于C3的长度,做对应位置字符替换。结果:Ii)若C2长度大于C3的,相当于把C3的末尾加上几个空串直到与C2长度一样,然后再做对应位置字符替换。结果:Iii)若C2长度小于C3的,相当于只保留C3前面的与C2长度的字符串,然后再做对应位置字符替换。实际上这种情况与I)是一样的。结果:2.4.1.3 数值函数1)ABS(a):求指定数a的绝对值。2)EXP(n)
39、:返回e的n次幂。3)MOD(m,n):返回m除以n的余数。4)ROUND(n1,n2): n2=0的正整数时返回n1所保留的小数位数,其余的被舍入掉;n2工龄*12作为条件。2.4.1.5 转换函数 转换函数是在日期、字符和数值之间的相互转换。1、 to_char(number/date,format-model):按照format-model的格式把数值number或日期date转换为相应的字符串。1)例如:select to_char(sysdate,yyyy-mm-dd) from dual;2)有关format-model的说明:(1)日期的显示格式:YYYY:4位年份YY:两位年份
40、Year:年的英文全名 如nineteen nityeightMM:月的两位数字Month:月的英文全名 如MAYMON:英文月的前三位简写 如OCTDAY:星期几的英文全名 如MondayDD:2位日期(2)数字的显示格式:9:代表一个数字位0:代表数字前面补0,如to_char(-1200,000000.00)的结果:.:小数点的位置,:标记数字位置的逗号L:根据数据库字符集加货币符号 如to_char(-1200,L9999.99);结果:$:给浮点数增加$结果:To_char函数中format-model固定格式: 9代表一个数字0强迫0显示$显示美元符号L强制显示一个当地的货币符号.显示一个小数点,显示一个千位分隔符号2、 to_date(c,forma