--创建数据库表结构
create table product(
product_name varchar2(25),
product_price number(4,2),
quantity_on_hand number(5,0),
last_stock_date date
);
--插入数据
insert into product values('Small Widget',99,1,to_date('2006-6-15','yyyy-MM-DD'));
insert into product values('Medium Wodget',75,1000,to_date('2005-3-25','yyyy-MM-DD'));
insert into product values('Chrome-Phoobar',50,100,to_date('2005-6-6','yyyy-MM-DD'));
insert into product values('Round Chrome Snaphoo',25,10000,to_date('2007-6-28','yyyy-MM-DD'));
insert into product values('KFC',23,1120,to_date('2006-8-13','yyyy-MM-DD'));
insert into product values('MaiDanLo',99.98,120,to_date('2007-5-4','yyyy-MM-DD'));
insert into product values('HaGenDSi',45.68,1,to_date('2006-7-8','yyyy-MM-DD'));
--创建数据库表结构
create table purchase(
product_name varchar2(25),
salesperson varchar2(3),
purchase_date date,
quantity number(4,2)
);
--插入数据
insert into purchase values('Small Widget','CA',to_date('2006-6-12','YYYY-MM-DD'),1);
insert into purchase values('Medium Wodget','BB',to_date('2006-7-16','YYYY-MM-DD'),75);
insert into purchase values('Chrome Phoobar','GA',to_date('2007-6-3','YYYY-MM-DD'),2);
insert into purchase values('Small Widget','GA',to_date('2006-9-24','YYYY-MM-DD'),8);
insert into purchase values('Medium Wodget','LB',to_date('2006-12-12','YYYY-MM-DD'),20);
insert into purchase values('Round Chrome Snaphoo','CA',to_date('2007-4-16','YYYY-MM-DD'),5);
/********************************* 常用的单行函数 **********************************/
--系统变量:SYSDATE,SYSTIMESTAMP,CURRENT_DATE,CURRENT_TIMESTAMP,USER
-- sysdate:返回当前日期和时间
select sysdate from emp;
--可以用该变量做数据的插入操作。
insert into purchase values('Small Widget','CA',sysdate,12);
--可以通过增加或减少天数对当前的日期进行简单的操作
insert into purchase values('Small Widget','CA',sysdate-30,12);
--SYSTIMESTAMP :返回数据库当前日期和时间
--CURRENT_DATE:返回本地计算机当前日期和时间
--CURRENT_TIMESTAMP:返回本地计算机当前日期和时间
--user: 返回Oracle用户的ID
select user from dual;
/*************************************** 数字函数 ***********************************/
--round(input_value,decimal_places_of_pricision)函数:将数字四舍五入到指定的精确程度
select product_name, round(product_price) from product;
select round(1234.5678,4) from dual;
--trunc(input_value,decimal_places_of_pricision)函数:数字截取函数,与round函数不同的是将不会进行四舍五入的操作
select trunc(1234.5678,2) from dual;
/****************************************** 文本函数 *************************************/
--upper():文本的答谢转换函数
select upper(product_name) from product;
--lower():文本的小写转换函数
select lower(product_name) from product;
--initcap():使串中的所有单词的首字母变为大写的函数
select initcap(product_name) from product;
--length():确定串的长度
select product_name,length(product_name) NAME_LENGTH from product where length(product_name)>15 order by product_name;
--substr(source_text,start_position,number_of_character):获取字符串的子串
select substr('iloveyou',1,5) from dual;
--instr():查找指定的文本,并返回该文本在串中的起始位置,通常可与substr结合使用。
select substr(product_name,1,instr(product_name,'-',1)-1) First,
substr(product_name,instr(product_name,'-',1)+1,30) Sec
from product where product_name='Chrome-Phoobar';
--Ltrim(column_name),rtirm(column_name)函数:分别是从串的开始和结尾部分删除空格
select ltrim(' china') from dual;
/*********************************************** 日期处理 ***************************************/
--SYSDATE系统变量和Trunc()截取函数的使用:用sysdate操作数据时,带有系统的时间部分,用trunc()截取函数可以截取掉系统的时间部分,而只显示日期部分
insert into purchase values('Small Widget','CA',trunc(sysdate),22);
delete from purchase where trunc(purchase_date)=to_date('2007-10-8','YYYY-MM-DD');
--add_months(start_date,number)函数:从开始日期start_date中添加或者删除相应的月份。
select add_months(trunc(sysdate),3) from dual;
--months_betweeen(date_1,date_2)函数:返回两个日期之间的月份数
select months_between(trunc(sysdate),last_stock_date) from product;
--可以使用round()函数包围在外面
select round(months_between(trunc(sysdate),last_stock_date)) from product;
-- 插看自己出生了多少个月
select round(months_between(sysdate,to_date('1986-11-30','YYYY-MM-DD')))from dual;
/******************************************** 数据类型的转换 ****************************************/
--to_char(input_value,'format_code')函数:用于将日期,时间或者数字转换为文本
格式化日期和时间值:
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') from dual;
格式化数字值:使数字的显示方式标准化。
select product_name, to_char(product_price,'$99,999.00') "price", quantity_on_hand from product;
--to_char()函数:日期转换函数
分享到:
相关推荐
1. **基础语法**: - PL/SQL由声明部分、执行部分和异常处理部分组成。声明部分定义变量、常量、游标等;执行部分包含程序逻辑;异常处理部分用于捕获和处理运行时错误。 - PL/SQL支持多种数据类型,如NUMBER、...
RedHat7.6操作系统环境下安装Oracle 11g R2数据库...同时,从文档中我们可以了解到Linux系统配置、软件包管理、系统优化、环境变量配置等IT基础知识点。掌握这些知识对于在Linux环境下部署和维护Oracle数据库至关重要。
根据提供的文件信息,“ORACLE DATABASE 11G性能优化攻略_高清_美 Sam R Alapati.pdf”,我们可以推断出这份文档主要讲述了Oracle Database 11g版本中的性能优化策略和技术。下面将从多个角度来深入探讨Oracle ...
Oracle数据库性能优化是确保系统高效运行的关键环节,尤其是在大数据量和高并发的环境中。...对于大型企业来说,建立完善的数据库性能监控和调优体系,定期进行性能评估和调整,是保障信息系统稳定高效运行的基础。
《ORACLE DATABASE 11G性能优化攻略》一书深入探讨了Oracle 11g数据库的性能优化技术,旨在帮助数据库管理员和开发人员提升系统效率,解决常见的性能问题。本书内容丰富,涵盖从基础概念到高级策略的多个层面,通过...
基础表的选择对性能影响很大,基础表是SQL语句中首先被访问的表。CBO会根据表的物理大小和索引状态选择最优路径,而RBO则更依赖于FROM子句中的表顺序。 在多个平等索引的情况下,Oracle会选择最优索引组合,但唯一...
本攻略将详细解释如何在 CentOS 5.8 x86_64 操作系统上进行静默安装,确保遵循最佳实践和配置要求。 首先,操作系统的选择至关重要。CentOS 5.8 x86_64 是推荐的操作系统,因为它支持 Oracle 11g R2 的安装。在安装...
三、SQL语言基础 四、PL/SQL编程 五、数据库对象管理 六、数据备份与恢复 七、性能优化与安全管理 八、如何学习Oracle数据库 九、资源简介 一、Oracle数据库概述 重点详细内容知识点总结: Oracle数据库是一种关系型...
二、性能优化基础 1. SQL优化:理解执行计划,使用EXPLAIN PLAN分析SQL,识别慢查询并使用索引、物化视图、绑定变量等技术优化SQL。 2. 分区策略:根据数据分布和查询模式选择合适的分区策略,如范围分区、列表...
Oracle 11g是一款广泛使用的数据库管理系统,由Oracle公司开发,适用于企业级数据...在安装过程中注意细节,如文件路径、密码设置以及环境变量配置,能确保安装过程顺利,为后续的数据库管理和开发工作打下坚实基础。
Oracle数据库监听是客户端和数据库服务器之间通信的基础组件,负责接收客户端的连接请求,并将请求转发至相应的数据库实例。监听充当了一个“桥梁”的角色,对于数据库的远程连接和管理至关重要。在Oracle数据库的...
### Oracle SQL编程完美攻略 #### 第一部分:SQL语言基础 ##### 第一章:关系型与非关系型数据库 **1.1 关系型数据库由来** 关系型数据库的基础理论最早可以追溯到1970年,当时IBM的研究员E.F. Codd博士首次提出...
Oracle数据库的维护攻略主要涉及数据库的备份和恢复策略,这对于保障企业数据安全至关重要。Oracle数据库在油田企业等众多行业中广泛应用,其复杂性和重要性要求DBA(数据库管理员)具备专业知识和实践经验。 首先...
《深度挖掘:Oracle RAC数据库架构分析与实战攻略》是一本深入探讨Oracle Real Application Clusters (RAC)技术的专业书籍,由张顺仕、高飞和沙波三位专家合著。Oracle RAC是Oracle数据库系统的一个重要特性,它提供...
而"3Oraclesjkglyzljc"这个名字虽然不明确,但看起来像是一个文档或教程的名称,可能包含了Oracle的技巧、攻略或者学习历程。 Oracle数据库系统的主要特点包括其高性能、高可用性、安全性以及可扩展性。它支持SQL...
首先,Oracle 10g的基础知识包括数据库体系结构,这涵盖了数据存储、内存结构和进程架构。数据存储主要涉及表空间、段、区和块的概念,理解这些概念对于管理数据库的存储至关重要。内存结构由SGA(System Global ...