### Oracle基本操作与时间格式处理 #### 一、Oracle基础操作 **1. Oracle带空格查询** 在Oracle中进行带有空格的数据查询时,为了确保数据准确性,通常需要使用`TRIM`函数来移除字符串两端的空格。例如,在两张表`t1`和`t2`中进行内连接查询时,可以通过以下SQL语句实现: ```sql SELECT * FROM t1 INNER JOIN t2 ON TRIM(A1) = TRIM(A2); ``` 这里`TRIM`函数的作用是去除比较字段`A1`和`A2`两端可能存在的空格。 **2. Oracle表中列的增删改** 在Oracle数据库中,可以使用`ALTER TABLE`语句来修改表结构,包括增加、修改或删除列。具体操作如下: - **增加列**:使用`ADD`关键字添加新列。 - 示例:向表`emp4`中添加一个名为`test`的VARCHAR2类型(长度为10)的新列。 ```sql ALTER TABLE emp4 ADD test VARCHAR2(10); ``` - **修改列**:使用`MODIFY`关键字修改现有列的属性。 - 示例:将`emp4`表中的`test`列类型从VARCHAR2(10)改为VARCHAR2(20)。 ```sql ALTER TABLE emp4 MODIFY test VARCHAR2(20); ``` - **删除列**:使用`DROP COLUMN`关键字删除指定的列。 - 示例:从`emp4`表中删除`test`列。 ```sql ALTER TABLE emp4 DROP COLUMN test; ``` **注意**:删除列时必须指定`COLUMN`关键字,否则会抛出ORA-00905错误,表示缺少关键词`COLUMN`。 - **同时增加多个列**: - 示例:向`emp4`表中同时添加两个新列`test`和`test2`。 ```sql ALTER TABLE emp4 ADD (test VARCHAR2(10), test2 NUMBER); ``` - **同时修改多个列**: - 示例:将`emp4`表中的`test`列类型从VARCHAR2(10)改为VARCHAR2(20),并将`test2`列类型从NUMBER改为VARCHAR2(20)。 ```sql ALTER TABLE emp4 MODIFY (test VARCHAR2(20), test2 VARCHAR2(20)); ``` - **同时删除多个列**: - 示例:从`emp4`表中删除`test`和`test2`两列。 ```sql ALTER TABLE emp4 DROP (test, test2); ``` 在删除多个列时,也必须指定每个列名,并用逗号分隔。 #### 二、Oracle时间格式处理 在Oracle中处理日期和时间数据时,经常需要对日期格式进行转换。Oracle提供了多种内置函数用于处理日期和时间数据,其中`TO_DATE`函数是最常用的一个。 **1. 使用TO_DATE函数插入时间格式** `TO_DATE`函数可以将字符串转换为日期/时间格式,以便在数据库中存储和查询。下面是一些使用`TO_DATE`函数插入不同时间格式的例子: - **包含小时、分钟和秒的时间格式**: ```sql INSERT INTO FLOOR_VALUES VALUES (TO_DATE('2007-12-20 18:31:34', 'YYYY-MM-DD HH24:MI:SS')); ``` 插入的结果为`2007-12-20 18:31:34.0`。 - **仅包含小时和分钟的时间格式**: ```sql INSERT INTO FLOOR_VALUES VALUES (TO_DATE('2007-12-14 14:10', 'YYYY-MM-DD HH24:MI')); ``` 插入的结果为`2007-12-14 14:10:00.0`。 - **仅包含小时的时间格式**: ```sql INSERT INTO FLOOR_VALUES VALUES (TO_DATE('2007-12-14 14', 'YYYY-MM-DD HH24')); ``` 插入的结果为`2007-12-14 14:00:00.0`。 - **仅包含日期的时间格式**: ```sql INSERT INTO FLOOR_VALUES VALUES (TO_DATE('2007-11-15', 'YYYY-MM-DD')); ``` 插入的结果为`2007-11-15 00:00:00.0`。 - **仅包含月份的时间格式**: ```sql INSERT INTO FLOOR_VALUES VALUES (TO_DATE('2007-09', 'YYYY-MM')); ``` 插入的结果为`2007-09-01 00:00:00.0`。 - **仅包含年份的时间格式**: ```sql INSERT INTO FLOOR_VALUES VALUES (TO_DATE('2007', 'YYYY')); ``` 插入的结果为`2007-05-01 00:00:00.0`。 **2. Oracle默认值** 当输入的时间格式不完整时,Oracle会根据未指定的部分使用默认值。例如: - 如果没有指定小时、分钟或秒,则默认值为`0`。 - 如果没有指定日期,则默认为`1`日。 - 如果没有指定月份,则默认为当前月份。 这些默认值的使用有助于保持数据的一致性和完整性,但在实际应用中需要注意检查和验证数据,以确保数据准确无误。






















select * from t1 inner join t2 on trim(A1)=trim(A2)
2 Oracle列操作
1)增加一列:
alter table emp4 add test varchar2(10);
2)修改一列:
alter table emp4 modify test varchar2(20);
3)删除一列:
alter table emp4 drop column test;
这里要注意几个地方,首先,增加和修改列是不需要加关键字COLUMN,否则会报错ora-00905。
其次,对删除单列的话,一定要加COLUMN,然后记住,删除是不需要加列类型的。
做法如下;
4)增加多列:
alter table emp4 add (test varchar2(10),test2 number);
5)修改多列:
alter table emp4 modify (test varchar2(20),test2 varchar2(20));


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 银行计算机储蓄系统数据流图ppt课件.ppt
- 银行家算法模拟实现论文.doc
- 银行计算机软件系统.ppt
- 银行家算法避免死锁的研究与实现-毕设论文.doc
- 面对我国电子商务存在的问题所要应对的措施-毕业论文.doc
- 银行企业网站建设研究论文.doc
- 面向对象程序设计报告.doc
- 面向对象程序设计语言C++第07章-虚函数和多态性.ppt
- 面向计算机信息管理的创新人才培养--毕业论文(设计).doc
- 面向网络化制造开放式数控系统的设计.doc
- mmexport1750180212800.jpg
- 霓虹灯的plc程序设计论文循环彩灯设计论文-毕设论文.doc
- 青岛胶河源区域品牌网络推广方案.doc
- 长春市“三路三桥”建设工程建设可行性研究报告编制项目管理综述.doc
- 长春市“三路三桥”建设工程可行性研究论证报告编制项目管理综述毕设论文.doc
- 长期股权投资信息化竞赛学生练习题.ppt


