oracle数据库和表的操作
一、字符函数
(1)连接符 concat
--连接符
select concat('10086','-')||'1531234567' 电话号 from dual;
(2)首字母大写 initcap
--首字母大写
select initcap('wangxiaoming') from dual;
(3)查找字符串 str
str1 被查找的字符串
str2 查找字符串
str3 从哪个位置查
str4 第几次出现
--查找字符串
select instr('410727201812131111','2018',2,1) from dual;
注:2的意思为从前面一串字符中第二位开始查找,不会影响初始查找得出的值。1的意思为从第几为出现(不重要)
(4)大小写转换 upper lower
--大小转换 select upper(列名) 大写,lower(列名) 小写 from 表名;
(5)字符串补充(粘贴)函数 lpad rpad
-- str1需补充字符串
-- str2补充至多少位
-- str3补充字符
select lpad('str1',str2,'str3') from dual;--向左补充
select rpad('str1',str2,'str3') from dual;--向右补充
注:不是补充str2个字符,是将str2个字符补全,如果str1的字符>str2,则不补充。
例子:
--左补充
select lpad('left',8,'*') from dual;
--右补充
select rpad('right',8,'*') from dual;
(6)删除字符 trim
-- str1 需删除字符串
-- str2 删除字符
select ltrim('str1','str2') from dual; --注意符号的缺失
例子:
--删除左边字符
select ltrim('***1***left','*') from dual;
--删除右边字符
select rtrim('right***1***','*') from dual;
(7)子字符函数 substr(含义:截取字符串中某一字符)
-- str1 需截取字符串
-- str2截取开始位置
-- str3截取多少位
select substr('str1',str2,str3) from dual;
注:(左闭区间,截取位置包含str2)
例子:
--截取字符
select substr('1531234567',1,3) from dual;
根据截取字符得出一个小案例如下:
--购物支付手机号保密
select rpad(substr('1531234567',1,3),8,'*') from dual;
--结果:153*****
(8)替换函数
--str1 需替换字符串
--str2需替换字符
--str3替换字符
select replace('str1','str2','str3') from dual;
例子:
--将呵呵替换为**
select replace('呵呵','呵','*') from dual;
二、数学函数
(1)向上取整 ceil
例子:
--返回大于等于给出数字的最小整数 select ceil(3.14) from dual; --不进行四舍五入,结果为4
(2)向下取整 floor
例子:
-- 取消小数,结果为3 select floor(3.14) from dual;
(3)精确地四舍五入 round
-- str1 -1 0 +1
-- 负数 整数 正数
注:可取负数,整数,小数
例子:
--结果3.1410 select round(3.1415926,4)from dual; --结果31410 select round(31415.926,-1)from dual;
(4)按照指定精度截取一个数 trunc
例子:
--正数截取 select trunc (3.1415926,4)from dual; --负数截取 select trunc (31415.926,-4)from dual;
(5)返回数字的根 sqrt
例子:
select sqrt(25)from dual;
三、日期函数
(1)返回当前系统的时间 sysdate
select sysdate from dual;
(2)to_char 将日期类型的值转换为char类型的值
--将系统时间转为字符类型 select sysdate,to_char(sysdate,'dd-mm-yyyy day')from dual;
(3)trunc 截断时间
--只显示系统时间的年份 select sysdate,trunc(sysdate,'yyyy') from dual; --只显示系统时间的月份 select sysdate,trunc(sysdate,'mm') from dual;
(4)增加或减少月份
select sysdate,add_months(sysdate,3) from dual;
--计算两个时间之间相差的时间
select sysdate,months_between(sysdate,to_date('2017-3-9','yyyy-mm-dd')) from dual;
四、其他函数
(1)nvl(expr1,expr2):如果expr1为null,返回expr2;不为null,返回expr1;注意expr1和expr2的类型要一致。
select nvl(expr1,expr2) from 表名;
(2)nvl2(expr1,expr2,expr3):expr1不为null,返回expr2;为null,返回expr3;expr2和expr3的类型不同的话,expr3会转换为expr2的类型。
select nvl2(expr1,expr2,expr1) from 表名;
五、聚合函数(avg、max、min、count、sum)
--统计符合条件的数目 select count(*) from 表名; --求和 select sum(sal) from emp; --求平均数 --distinct 表示将重复的值删除 --all 计算所有的值,重复也不删除 --以上不写默认all select avg(sal) from emp;
oracle数据库和表的操作的更多相关文章
- WPF根据Oracle数据库的表,生成CS文件小工具
开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...
- 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表
最近项目中有一种需求: 大致需求是这样的 通过给定的 用户名和密码 要定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表 项目的结构式struts1 hibernat ...
- Oracle 数据库整理表碎片
Oracle 数据库整理表碎片 转载:http://kyle.xlau.org/posts/table-fragmentation.html 表碎片的来源 当针对一个表的删除操作很多时,表会产生大量碎 ...
- Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间
Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一: 删除user drop ...
- SpringBoot程序启动时在Oracle数据库中建表充值
例子工程下载链接:https://files.cnblogs.com/files/xiandedanteng/gatling20200428-1.zip 需求:在工程启动时在Oracle数据库中建表. ...
- PowerDesigner连接Oracle数据库建表序列号实现自动增长
原文:PowerDesigner连接Oracle数据库建表序列号实现自动增长 创建表就不说了.下面开始介绍设置自动增长列. 1 在表视图的列上创建.双击表视图,打开table properties — ...
- Oracle数据库创建表是有两个约束带有默认索引
Oracle数据库创建表是有两个约束带有默认索引.1.主键primary Key:唯一索引.非空2.唯一Unique:唯一索引,可以是空值如果没有设定主键和唯一约束,表中不会有默认索引的. 建立主键/ ...
- 链接oracle数据库 生成表对应的javabean
package com.databi.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOExc ...
- ORACLE 数据库及表信息
查看ORACLE 数据库及表信息 -- 查看ORACLE 数据库中本用户下的所有表 SELECT table_name FROM user_tables; -- 查看ORACLE 数据库中所有用户 ...
随机推荐
- iOS 开发 atomic 与 nonatomic 区别
atomic : 变量默认是有该有属性的,这个属性是为了保证在多线程的情况下,编译器会自动生成一些互斥加锁的代码,避免该变量的读写不同步的问题. nonatomic : 如果该对象无需考虑多线程的 ...
- angularjs ng-csv 异步下载
相信之前我们 前端下载csv的时候 都是通过后台代码 生成文件,然后发送给前台 文件路径来进行下载,下面介绍一下angular1 ng-csv下载 csv数据(这种不通过后台代码来实现的前台下载) 参 ...
- 微信小程序Md5加密(utf-8汉字无影响)
微信小程序不让使用第三方jqMD5 只好改原生js咯 废话不多说直接贴代码 其实就是将原生function调用改为 module.exports = md5; 文中 红色标注 使用方法 将md5.js ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-EF执行SQL语句与存储过程
这一节,我们来看看EF如何执行SQL语句与读取存储过程的数据,可能有一部分人,还不知道EF如何执行存储过程与原生SQL语句! 我们什么时候要直接使用原生的SQL语句? 返回值过于复杂 过于复杂的联合查 ...
- LaTeX 各种命令,符号
函数.符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} \acute{\eta} \check{\alpha} \grave{\eta} \breve{a} \ddot{y} ...
- IM开发基础知识补课:正确理解前置HTTP SSO单点登陆接口的原理
1.前言 一个安全的信息系统,合法身份检查是必须环节.尤其IM这种以“人”为中心的社交体系,身份认证更是必不可少. 一些PC时代小型IM系统中,身份认证可能直接做到长连接中(也就是整个IM系统都是以长 ...
- mysql4 - 高级操作
一.联结(使用 where(早) 和 join(晚) 都可以完成联结) 1.1 从 Teacher 表和 Profession 表中,查询出老师的名字和所属专业的名称. SELECT t.`l_nam ...
- MYSQL索引的类型和索引的方式
索引的类型: normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索 ...
- 针对Student表的DAO设计实例
完整代码以及junit,mysql--connector包下载地址 : https://github.com/CasterWx/MyStudentDao 表信息: 代码: dao包----impl包- ...
- Swagger2 Oauth2.0 令牌 请求头
@EnableSwagger2 @Bean public Docket createRestApi() { ParameterBuilder tokenPar = new ParameterBuild ...