Oracle

Oracle必须要启动的服务有:

  • OracleOraDb11g_homeTNSListener
  • OracleServiceORCL

Oracle实现分页

select * from (select rownum no,a.* from emp a) where no between (pageNo-1)*pageSize+1 and pageNo*pageSize;

查看表结构

desc 表名;//SQL Plus中执行

空值

包含空值的算术表达式计算结果为空,

别名

//起别名时,可以加双引号使别名变得大小写敏感,例如:
select 1 as "userName" from dual;//as起别名,as可以省略不写

连接符 ||

select 'Hello' || ' ' || 'World' from dual;//Hello World

去除重复行 distinct

//对所有查询字段去重,两条结果所有查询字段值完全一致才去重
select distinct name,age from user;

日期

select * from employees where hire_date = '24-1月-2006';
//'24-1月-06',英文版Oracle'24-1Jan-2006'
select * from employees where hire_date like '%06';

between … and …

select * from employees where salary between 3300 and 3500

desc

//每个字段的排序规则都要单独声明
select * from employees order by salary desc,last_name desc

百分比

//不支持百分比运算,20% 要写成 0.2或.2或.20或0.20

函数

字符处理函数

CONCAT('Hello','World') HelloWorld //相当于连接符||

SUBSTR('HelloWorld',1(起始位置),5(截取长度)) Hello //字符串截取
SUBSTR('HelloWorld',-5(起始位置)) World //截到末尾
//包含开始和结束,从左往右截取,起始为负数则从右往左数第n个字符开始

LENGTH('HelloWorld') 10 //取字符串长度

INSTR('HelloWorld','W') 6 //返回字符出现的位置
INSTR('HelloWorld','l',1(起始位置),3(出现的次数)) // 没有出现那么多次数则返回0

LPAD('World',10(位数),'*') *****World //若不满足位数,则从左侧填充参数3

RPAD('Hello',10,'123') Hello12312 //从右侧填充

TRIM(both 'H' from 'HelloH') ello //去掉头尾两侧字符,默认是去头去尾both可以省略
TRIM(leading'H' from 'HelloH') elloH //去头
TRIM(trailing 'H' from 'HelloH') Hello //去尾

REPLACE(目标字符串,'旧字符串','新字符串')

大小写处理函数

LOWER('str') 全部转为小写
UPPER('str') 全部转为大写
INITCAP('str') 转为首字母大写其他小写
参数必须字符串,返回值为字符串

数字函数

ROUND(123.456,2(位数)) 123.47 四舍五入截取小数位数
ROUND(123.456,-2) 100 位数为负数则截取整数,小数点往左截

TRUNC(123.456,2) 123.45 直接舍弃多余小数

MOD(10,3) 1 取余数

日期函数

sysdate 返回当前数据库服务器的日期和时间

date - date 返回相差天数

date - number 减去天数,返回日期,0.5天等于12小时

MONTHS_BETWEEN(date,date) 返回两个日期之间的月数

ADD_MONTHS(date,number) 给日期添加月数

NEXT_DAY(date,'星期一') 返回下一个星期一的日期
NEXT_DAY(date,1) 返回下一个星期日的日期,1-7,周日到周六

LAST_DAY(date) 返回日期当月的最后一天

ROUND(date) 对日期四舍五入(默认对天截取)
ROUND(date,'yy') 对年截取,'mm'对月,'dd'对日

TRUNC(date) 不做四舍五入截取
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值