Oracle基本操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle基本操作相关的知识,希望对你有一定的参考价值。
查看数据库字符集编码
select userevn(‘language‘) from dual;
Oracle常用函数:
LOWER(‘AAAAA‘),将字符全部转换成小写
UPPER(‘aaaaasss‘),将字符全部转换成大写
INITCAP(‘AtSiChuan chengdu‘),每个字符首字母大写
CONCAT(‘hello‘, ‘world‘),连接2个字符
SUBSTR(‘atsichuan‘, 1, 5),从第一位开始截取5位
INSTR(‘helloworld‘,‘o‘),字符第一次出现‘o’的位置
LENGTH(‘helloworld‘),字符长度
TRIM(‘ hellow world ‘),去掉字符首尾空格 trim(‘h‘ from ‘hellohworldh‘) 去掉字符首尾的h--(ellohworld),说明trim只能去掉字符首尾,中间的不能去掉
LPAD(‘sss‘, 5, ‘&‘),左对齐(&&sss)
RPAD(‘ccc‘, 5, ‘*‘),右对齐(ccc**)
REPLACE(‘ancasa‘, ‘a‘, ‘d‘)将字符中的a替换成d
转换成金额型 to_char(salary,‘$99999999.99‘)
round四舍五入 ROUND(157.9321)---158 ROUND(157.9321,2)--157.93 ROUND(157.9321,-2)--100
trunc截断 TRUNC(69.9923, 2)---69.99 TRUNC(69.9923)---69 TRUNC(69.9923, -1)---60
mod求余 MOD(1600, 300)---100
日期函数
months_between(sysdate,hire_date) 2个日期之间相差的月份数
add_months 添加月份 add_months(SYSDATE,2)---- 2017/12/12 10:52:34 add_months(SYSDATE,-3)---2017/7/12 10:52:34 (sysdate是20171012)
NEXT_day(SYSDATE,‘星期四‘) 下一个星期的某一天的日期(sysdate是20171012)
last_day 指本月最后一天 last_day(sytsdate)---31 (sysdate是20171012)
round(sysdate,‘mm‘) ---20171001 round(sysdate,‘month‘)---20171001
trunc(sysdate,‘year‘)---2017/1/1 trunc(sysdate,‘mm‘)--2017/10/1 trunc(sysdate,‘dd‘) --2017/10/12 trunc(sysdate,‘hh‘)---2017/10/12 11:00:00
WM_CONCAT 该函数可将查询结果放在一个单元格中;
DECODE(字段或字段的运算,值1,值2,值3)
这个函数的运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3.
decode(条件,值1,返回值1,值2,返回值2,值3,返回值3……值n,返回值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN 返回值1
IF 条件=值2 THEN
RETURN 返回值2
IF 条件=值3 THEN
RETURN 返回值3
....
ELSE IF 条件=值N THEN
RETURN 返回值N
ELSE
RETURN 缺省值
END IF
Merge into 的用法
Merge 的基本语法:
Merge into table[alias]
Using table or sql query[alias]
On condition
When matched then
Update set.....
When not matched then
Insert values....
truncate table 命令将快速删除数据表中所有的记录,但保留数据表结构。其删除的数据是不可以恢复的。(删除速度非常快)
delete from table 命令删除的数据存储在系统回滚段中,即数据是可以恢复的。
drop table将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态。
exits
between and 在两个值之间 (包含边界)
以上是关于Oracle基本操作的主要内容,如果未能解决你的问题,请参考以下文章