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

相关文章

Linux内核定时器使用及说明

《Linux内核定时器使用及说明》文章详细介绍了Linux内核定时器的特性、核心数据结构、时间相关转换函数以及操作API,通过示例展示了如何编写和使用定时器,包括按键消抖的应用... 目录1.linux内核定时器特征2.Linux内核定时器核心数据结构3.Linux内核时间相关转换函数4.Linux内核定时

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

SQL Server中行转列方法详细讲解

《SQLServer中行转列方法详细讲解》SQL行转列、列转行可以帮助我们更方便地处理数据,生成需要的报表和结果集,:本文主要介绍SQLServer中行转列方法的相关资料,需要的朋友可以参考下... 目录前言一、为什么需要行转列二、行转列的基本概念三、使用PIVOT运算符进行行转列1.创建示例数据表并插入数

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

MySQL MHA集群详解(数据库高可用)

《MySQLMHA集群详解(数据库高可用)》MHA(MasterHighAvailability)是开源MySQL高可用管理工具,用于自动故障检测与转移,支持异步或半同步复制的MySQL主从架构,本... 目录mysql 高可用方案:MHA 详解与实战1. MHA 简介2. MHA 的组件组成(1)MHA

pandas使用apply函数给表格同时添加多列

《pandas使用apply函数给表格同时添加多列》本文介绍了利用Pandas的apply函数在DataFrame中同时添加多列,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、Pandas使用apply函数给表格同时添加多列二、应用示例一、Pandas使用apply函

Java之ServerSocket使用及说明

《Java之ServerSocket使用及说明》本文介绍了Java中ServerSocket类的使用方法,包括创建ServerSocket对象、绑定端口、监听连接请求、接受连接、关闭连接等常用方法,还... 目录前言常用方法使用案例1.实现TCP2.实现UDP总结前言Java中的ServerSocket

MySQL 数据库进阶之SQL 数据操作与子查询操作大全

《MySQL数据库进阶之SQL数据操作与子查询操作大全》本文详细介绍了SQL中的子查询、数据添加(INSERT)、数据修改(UPDATE)和数据删除(DELETE、TRUNCATE、DROP)操作... 目录一、子查询:嵌套在查询中的查询1.1 子查询的基本语法1.2 子查询的实战示例二、数据添加:INSE