Oracle数据库(函数(不包括自定函数,自定义函数会单独在后面博文中说明)、Oracle中select语法讲解)

本文主要是介绍Oracle数据库(函数(不包括自定函数,自定义函数会单独在后面博文中说明)、Oracle中select语法讲解),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引用、推荐博客:

http://www.cnblogs.com/qingxinblog/p/4154228.html(函数练手敲代码博客推荐)
http://blog.csdn.net/jian200801/article/details/7558292(自定义函数实例)
http://www.cnblogs.com/vic_lu/archive/2010/08/28/1811097.html
http://www.cnblogs.com/yuepeng/archive/2011/03/21/1990105.html
http://blog.csdn.net/rosekin/article/details/39298255(多表链接查询归纳总结)

一、函数

函数再次分为单行函数和多行函数(组函数)来介绍,其中单行函数又分为:(1)与数字相关的函数(2)字符函数(3)日期时间函数(4)转换函数(5)通用函数

1.1、单行函数

即输入一行的某个 列的值,输出一个结果,单行函数存在于sql语句、select子句、where条件中。第一部分先介绍一些常用的单行函数,第二部分在对这些单行函数具体用法给出代码演示。

(1)数字相关的函数

输入和输出都是数字类型,下面列举几个常用的与数字相关的函数:

abs(n) 返回数字n的绝对值
exp(n) e的n次方
power(m,n) m的n次方
mod(m,n) m除以n的余数
ceil(n) 大于等于n的最小整数
floor(n) 小于等于n的最大整数
round(m[,n]) 四舍五入,n四舍五入的位数:n正数,小数后第n位的数据要四舍五入;n为负数,小数点前第n位开始四舍五入,例如:round(789.346,2) 结果为789.35
trunc(m[,n]) 截断数据,n截断到第几位:,负数表示截断到小数点之前第n位
sign(n) 检测数字的正负,整数返回1,负数返回-1,0返回0
aqrt(n) n的平方根

(2)字符函数

大部分字符函数的输入参数都为字符类型,返回值是字符类型或数字类型,下面列举一些常用的字符函数:

ascii(c) 返回字符串首字符的ascii编码值
chr(n) 将ascii码值转换成字符
concat(c1,c2) 连接两个字符串 ||字符串的连接运算符
initcap(c) 用于将字符串中每个单词的首字母大写,其余字母小写
instr(c1,c2) c2第一次在c1中出现的位置,字符串位置从1开始
lenght(c) 返回字符串字符的个数,如果为”、null,则length函数返回null;
lower(c) 转小写
uper(c) 转大写
replace(c,seraching_c,replace_c)
substr(c,m,n)获取子串,m取的第一个字符的位置,n取的字符的个数;
m为负数时,从字符串末尾开始数m个位置,从该位置开始取,从前往后取n个
trim(c from str) 删除首尾的所有子串c

(3)日期时间函数

日期时间函数大多用来处理date和timestamp类型的数据。下面列举一些常用的日期时间函数:

add_months(d,n) 用于获取指定日期d之前或之后n个月的日期
mouths_between (d1,d2) 返回两个日期之间的月份差
current_date
current_timestamp
last day(d) 返回指定日期的月份的最后一天的日期时间

注意:
日期算数运算
+:不允许日期+日期,只能加整数,在天数上加上对应的值
-:允许日期-日期,得到两个日期之间的天数差

(4)转换函数

转换函数有很多,在这里值列举几个:
to_char
to_date
to_number(c,format)
将一个数字格式的字符串转换成数字
format:
9,代表一个数字
$,美元符号
L,本地货币符号
.,用于匹配一个小数点
,,用于匹配一个逗号,不能用于匹配小数位
x,表示16进制数的1位

(5)通用函数(参数类型没有限制)

null与任何数据进行算术运算时,结果都是null
nvl(expr1,expr2),如果expr1为null,返回expr2;
如果expr1不为null,返回expr2
nullif(expr1,expr2) expr1 == expr2 ? null : expr1
nvl2(expr1,expr2,expr3) expr1 == null ? Expr3 : expr2
decode(expr,search1,result1,search2,result2,…defaultValue)
根据表达式与值的匹配情况,返回对应的结果,且一旦找到匹配的值,则直接返回对应的result

(6)上述函数的代码演示
(代码演示来源:http://www.cnblogs.com/vic_lu/archive/2010/08/28/1811097.html,里面代码本人都测试过,都可以运行,可以手动敲一下代码,提高熟练度):

1、set linesize 100;  设置长度   2、set pagesize 30;   设置每页显示数目   3、em a.sql  打开记事本     4、@ a 执行文件a中的代码,可指定文件的路径 @d:a.txt   5、conn 用户名/密码  根据用户名和密码连接数据库 如果连接超级管理员(sys) 则应加上as sysdba;   6、show user; 显示当前连接的用户   7、select * from tab;  得到当前用户下的所有表   8、desc temp; 查看表结构   9、/  继续执行上一个查询语句   clear scr;  清屏   字符函数   10、select upper('coolszy') from dual; 将小写字母转换成大写,dual 为一虚表   11、select lower('KUKA') from dual; 将大写字母转换成小写   12、select initcap('kuka') from dual; 将首字母大写    13、select concat('Hello',' world') from dual; 连接字符串,但没有||好用select concat('Hello','world') from dual;   1

这篇关于Oracle数据库(函数(不包括自定函数,自定义函数会单独在后面博文中说明)、Oracle中select语法讲解)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143609

相关文章

Oracle数据库使用 listagg去重删除重复数据的方法汇总

《Oracle数据库使用listagg去重删除重复数据的方法汇总》文章介绍了在Oracle数据库中使用LISTAGG和XMLAGG函数进行字符串聚合并去重的方法,包括去重聚合、使用XML解析和CLO... 目录案例表第一种:使用wm_concat() + distinct去重聚合第二种:使用listagg,

oracle中exists和not exists用法举例详解

《oracle中exists和notexists用法举例详解》:本文主要介绍oracle中exists和notexists用法的相关资料,EXISTS用于检测子查询是否返回任何行,而NOTE... 目录基本概念:举例语法pub_name总结 exists (sql 返回结果集为真)not exists (s

Java读取InfluxDB数据库的方法详解

《Java读取InfluxDB数据库的方法详解》本文介绍基于Java语言,读取InfluxDB数据库的方法,包括读取InfluxDB的所有数据库,以及指定数据库中的measurement、field、... 首先,创建一个Java项目,用于撰写代码。接下来,配置所需要的依赖;这里我们就选择可用于与Infl

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

Redis分布式锁使用及说明

《Redis分布式锁使用及说明》本文总结了Redis和Zookeeper在高可用性和高一致性场景下的应用,并详细介绍了Redis的分布式锁实现方式,包括使用Lua脚本和续期机制,最后,提到了RedLo... 目录Redis分布式锁加锁方式怎么会解错锁?举个小案例吧解锁方式续期总结Redis分布式锁如果追求