oracle_函数学习
来源:互联网 发布:dota2数据查询接口 编辑:程序博客网 时间:2024/06/05 10:14
concat('admin','abce')
SQL> select concat('admin','abce')as 连接结果 from dual;
连接结果
---------
adminabce
SQL> select concat(null,'abce')as 连接结果 from dual;
连接
----
abce
SQL> select concat('admin',null)as 连接结果 from dual;
连接
-----
admin
SQL> selectconcat(concat('admin','abce'),'1234') as 结果 from dual;
结果
-------------
adminabce1234
SQL> select concat('admin','abce','1234')as 结果 fromdual;
select concat('admin','abce','1234') as 结果 fromdual
*
第 1 行出现错误:
ORA-00909: 参数个数无效
已选择16行。
昨天学过的:更改列宽
SQL> column p.name(name也不对,应该是所显示的列名,即商品名称和商品价格,如下:)format a8;
SQL> column p.price format a8;
SQL> select p.name as 商品名称,p.price||'元' as 商品价格 from es_product p;
(这段语句对显示结果无影响)
SQL> column 商品名称 format a12;
SQL> column 商品价格 format a12;
SQL> select p.name as 商品名称 ,p.price||'元' as 商品价格 fromes_product p;
商品名称 商品价格
------------ ------------
平凡的世界 45.9元
明朝那些事 15.9元
活着 25.9元
白鹿原 35.9元
纪念雷锋 65.9元
Nike鞋子 960元
Nike裤子 259元
美美裙 45.9元
阿童木情侣装 520元
真维斯系列 102元
饼干 10元
商品名称 商品价格
------------ ------------
高级水果 36元
伊利牛奶 49元
冰红茶 5.9元
果丹皮 14元
李宁 90元
已选择16行。
SQL> select p.name as 商品名称 concat(p.price,'元')as 商品价格 from es_product p;
select p.name as 商品名称 concat(p.price,'元') as 商品价格from es_product p
*
第 1 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字
SQL> select p.name as 商品名称 ,concat(p.price,'元')as 商品价格from es_product p;
商品名称 商品价格
------------ ------------
平凡的世界 45.9元
明朝那些事 15.9元
活着 25.9元
白鹿原 35.9元
纪念雷锋 65.9元
Nike鞋子 960元
Nike裤子 259元
美美裙 45.9元
阿童木情侣装 520元
真维斯系列 102元
饼干 10元
商品名称 商品价格
------------ ------------
高级水果 36元
伊利牛奶 49元
冰红茶 5.9元
果丹皮 14元
李宁 90元
已选择16行。
nvl(description,'没有说明')
SQL> column 商品描述 format a12;
SQL> select name, nvl(description,'没有说明') as 商品描述from es_product;
NAME 商品描述
------------ ------------
平凡的世界 是一部现实语
言小说
明朝那些事 一部小说
活着 一部现实语言
小说
白鹿原 是一部小说
纪念雷锋 是一部小说
Nike鞋子 我活我自在
Nike裤子 潮流代表
NAME 商品描述
------------ ------------
美美裙 青春少女的最
爱
阿童木情侣装 情侣系列
真维斯系列 真正的青春范
饼干 好吃的饼干
高级水果 水果中的极品
伊利牛奶 你生命活力的
来源
冰红茶 冰爽一夏
NAME 商品描述
------------ ------------
果丹皮 酸甜可口
李宁 上衣
已选择16行。
SQL>
截取:trunc
SQL> select trunc(45.697) from dual;
TRUNC(45.697)
-------------
45
SQL> select trunc(45.697,2) from dual;
TRUNC(45.697,2)
---------------
45.69
SQL> select trunc(45.697,-1) from dual;
TRUNC(45.697,-1)
----------------
40
SQL> select trunc(45.697,-2) from dual;
TRUNC(45.697,-2)
----------------
0
SQL>
SQL>-- 四舍五入--
SQL> select round(45.697) from dual;
ROUND(45.697)
-------------
46
SQL> select round(45.697,1) from dual;
ROUND(45.697,1)
---------------
45.7
SQL> select round(45.697,-1) from dual;
ROUND(45.697,-1)
----------------
50
SQL> select round(45.697,-2) from dual;
ROUND(45.697,-2)
----------------
0
SQL> select round(43.697,-1) from dual;
ROUND(43.697,-1)
----------------
40
获得系统时间:sysdate,截取年extract(year from sysdate)
SQL> select extract(year from sysdate)||'年'||extract(month fromsysdate)||'月'||extract(day from sysdate)||'日'
2 as 日期 from dual;
日期
--------------------------------------------------------------------------------
2014年7月9日
SQL> column 日期 format a15;
SQL> select extract(year from sysdate)||'年'||extract(monthfrom sysdate)||'月'||extract(day from sysdate)||'日'
2 as 日期 from dual;
日期
---------------
2014年7月9日
SQL>
将时间转化成字符串:
SQL> select to_char(p.saledate,'yyyy-mm-dd') as 日期 from es_productp;
日期
---------------
2012-04-01
2012-02-03
2012-04-04
2012-01-12
2012-01-03
2012-02-23
2012-01-08
2011-07-01
2012-04-06
2012-03-05
2012-03-17
日期
---------------
2012-04-07
2012-04-02
2012-01-19
2012-02-19
2014-07-08
已选择16行。
见字符串转化成时间:
SQL> column description format a15;
SQL> column content format a15;
SQL> select * from es_product p
2 where to_date('2012-2-29','yyyy-mm-dd')< p.saledate and
3 p.saledate <= to_date('2012-3-31','yyyy-mm-dd');
ID SORT_ID NAME PRICE DESCRIPTION CONTENT
---------- ---------- ------------ ------------------------- ---------------
SALEDATE STOCKCOUNT
-------------- ----------
10 2 真维斯系列 ########## 真正的青春范 穿出你的青春和
美丽
05-3月 -12 100
11 3 饼干 ##########好吃的饼干 代替早餐
17-3月 -12 100
SQL> column price format 999;
SQL> select * from es_product p
2 where to_date('2012-2-29','yyyy-mm-dd')< p.saledate and
3 p.saledate <= to_date('2012-3-31','yyyy-mm-dd');
ID SORT_ID NAME PRICE DESCRIPTION CONTENT
---------- ---------- ------------ -------------------- ---------------
SALEDATE STOCKCOUNT
-------------- ----------
10 2 真维斯系列 102 真正的青春范 穿出你的青春和
美丽
05-3月 -12 100
11 3 饼干 10 好吃的饼干 代替早餐
17-3月 -12 100
聚合函数:
1、 求和函数:sum
SQL> select sum(age) from stu;
总年龄
----------
75
2、 计数函数:count
SQL> select count(*) from stu;
总(年龄列所包含值的个数)人数
----------
4
SQL> select count(age) from stu;
总人数
----------
4
如果我把count的参数列某一列的值改成null 则其结果也会发生变化
即count在计数是不计算空值。
SQL> update stu set birthday=null where id=1;
已更新 1 行。
SQL> select count(birthday) as 人数 from stu;
人数
----------
3
SQL>
3、 求平均函数:avg
SQL> select avg(age) from stu;
平均值
----------
18.75
4、 求最大值、最小值函数
SQL> select max(age) as 最大年龄,min(age) as 最小年龄
2 from stu;
最大年龄 最小年龄
---------- ----------
20 18
分组:groupby
SQL> select sum(s.age) as 总年龄 ,s.sex
2 from stu s
3 group by s.sex;
总年龄 SE
---------- --
38 男
37 女
SQL> select s.name sum(s.age) as 总年龄 ,s.sex
2 from stu s
3 group by s.sex;
select s.name sum(s.age) as 总年龄 ,s.sex
*
第 1 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字
SQL> select s.name sum(s.age) as 总年龄 ,s.sex
2 from stu s
3 group by s.sex,s.name;
select s.name sum(s.age) as 总年龄 ,s.sex
*
第 1 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字
SQL> select s.name,sum(s.age) as 总年龄 ,s.sex
2 from stu s
3 group by s.sex,s.name;
NAME 总年龄 SE
------------ ---------- --
谭小志 18 男
张三 20 男
张虹 19 女
董小宛 18 女
SQL> select avg(s.age) as 平均年龄,s.sex
2 from stu s
3 group by s.sex;
平均年龄 SE
---------- --
19 男
18.5 女
SQL> select count(*) as 人数 from stu;
人数
----------
4
SQL> select count(*) as 人数 ,sex
2 from stu
3 group by sex;
人数 SE
---------- --
2 男
2 女
- oracle_函数学习
- Oracle_函数
- oracle_函数
- oracle_时间函数
- Oracle_单行函数
- Oracle_组函数
- oracle_常用分组函数
- 【3】Oracle_存储函数
- oracle_常用函数汇总
- Oracle_排列(rank())函数
- oracle_常用的sql函数
- oracle_单行函数_字符函数
- oracle_单行函数_数字函数
- Oracle_取随机数函数的常用方法
- java 从零开始,学习笔记之基础入门<Oracle_函数_触发器_游标_存储过程_视图>(三十五)
- Oracle_学习笔记_转换SCN
- oracle_学习中的实用小技巧
- Oracle_学习使用SQL语句六(连接查询)
- 140709
- opencv单个窗口显示多幅图像
- SEAndroid安全机制框架分析
- Android访问WebService
- nginx中锁的设计以及惊群的处理
- oracle_函数学习
- 【rubby phython Go】
- Android中的Menu(菜单)
- 适配器模式
- 明升概述
- shell编程
- 【黑马程序员】数组排序
- VMware vSphere 5.1 简介与安装
- void *指针理解