您的位置:首页 > 数据库 > Oracle

Oracle用法集锦

2015-08-04 17:52 537 查看
查询第一条数据

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,'-')<>'-'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: