Oracle用法集锦

查询第一条数据

select * from tableName where rownum <= 1

修改表名

ALTER TABLE tablename RENAME TO newtablename

修改列名:

ALTER TABLE BD_PRI RENAME COLUMN EU_PRIMD TO CODE

修改列类型:

ALTER TABLE TableName MODIFY(CODE VARCHAR(20))

根据出生日期计算年龄:

TRUNC(months_between(sysdate, to_date(substr(patient.dt_birth,1,10),'yyyy-mm-dd'))/12) as Age,/*年龄*/

字符串连接

--||拼接
SELECT T_B||T_E FROM SC_TICKS

--CONCAT拼接
SELECT CONCAT(T_B,T_E) FROM SC_TICKS

--CONCAT可以嵌套
SELECT CONCAT(CONCAT(T_B,'-'),T_E) FROM SC_TICKS 

取当前时间

SELECT sysdate FROM tablename

时间格式如:2015-10-20 下午7:54:19

时间转换格式,通常的时间格式:

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from tablename

当前时间增减 

增加1小时如下

SELECT SYSDATE, SYSDATE+NUMTODSINTERVAL(1,'HOUR') FROM tablename

同样的,对照表

字符标识 含义
hour
minute
second

 

如果增加1天

SELECT SYSDATE, SYSDATE+1 FROM tablename

增加2个月,需要ADD_MONTHS函数

SELECT SYSDATE, ADD_MONTHS(SYSDATE,2) FROM DUAL

增加2年,也可以用这个函数

SELECT SYSDATE, ADD_MONTHS(SYSDATE,2*12) FROM DUAL

求时间差

SELECT SYSDATE-TO_DATE('2015-10-20 21:22:23','YYYY-MM-DD HH24:MI:SS') DT FROM DUAL

 

导出数据库dmp文件

exp   用户名/密码@实例名    file=C:db.dmp

实例

 

 

导入数据库

imp   用户名/密码@实例名    file=C:db.dmp

 

清空表数据,要使用:

truncate table 表名

因为用drop table,delete * from 表名时,tablespace表空间该表的占用空间并未释放,反复几次drop,delete操作后,该tablespace上百兆的空间就被耗光了。 

 

判断字段是否为空

null只能通过is null或者is not null来判断,其它操作符与null操作都是false。 

如果使用: fieldname<>null,什么数据都查不到。

也可以用nvl函数来判定,如nvl(name,'-')<>'-'

 

 

原文地址:https://www.cnblogs.com/yank/p/4701289.html