【Oracle宝典】排序与各类函数

排序

select * from 表名 where 查询条件 order by 列名1 ASC|DESC,列名2 ASC|DESC...
  • 默认排序规则是升序排序,可以不指定ASC,如果降序排列必须制定DESC。
  • 第一列相同的情况下会按照第二列的排序规则来排序。

单行函数

  • 接收字符输入返回字符或者数值,dual是伪表
--小写转换大写
select upper('ljp') from dual
--大写转换小写
select lower('LJP') from dual
--首字母大写
select initcap('ljp') from dual
--字符串连接 建议使用 ||
select concat('hello','world') from dual
select 'hello' || 'world' from dual --建议使用
--字符串截取,参数1源字符串,参数2开始索引,参数3截取长度
select substr('hello',1,3) from dual
--获取字符串长度
select length('hello') from dual
--字符串替换 第一个是源字符串,第二个是被替换的字符串
select replace('hello','l','x') from dual

数值函数

--四舍五入函数 第二位参数可以指定保留位数
select round(12.51,2) from dual
--取整,默认去掉全部小数 第二位参数可以指定保留位数
select trunc(12.51,2) from dual
--取余
select mod(10,3) from dual

日期函数

  • 日期 - 数字 = 日期
  • 日期 + 数字 = 日期
  • 日期 - 日期 = 天数
--当前日期
select sysdate from dual
--获得两个时间段中的月数
select months_between(sysdate, date) from dual
--获得几个月后的日期
select add_months(sysdate, 3) from dual

转换函数

--字符串转换函数 HH十二小时制 HH24二十四小时制
select to_char(sysdate, 'yyyy-mm-dd HH24:mi:ss') from dual
-- fm 可去掉前导0
select to_char(sysdate, 'fmyyyy-mm-dd') from dual
--格式化 三位用,分隔 “9”代表以为数字
select to_char(money, '99,999') from dual
--格式化 l代表本地货币 $代表美元
select to_char(money, 'l99,999') from dual
--数值转换函数
select to_number('99') +  to_number('1') from dual
-- 日期转换函数
select to_date('1999-04-22','yyyy-mm-dd') from dual

通用函数

-- 空值处理nvl 对con处理 空值为0
select nvl(con, 0) from dual
-- decode函数
select decode(1,1,'我是1',2,'我是2','其他') from dual
-- case when函数
select case when job = 'teacher' then '老师'  
            else '无业'
from dual
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值