`

Oracle 数据库单行函数

阅读更多
                          总结下Oracle单行函数
函数名称
功    能
实  例
结  果

ascii
获得字符的ASCII码
Ascii('A')
65

chr
返回与ASCII码相应的字符
Chr(65)
A

lower
将字符串转换成小写
lower ('SQL Course')
sql course

upper
将字符串转换成大写
upper('SQL Course')
SQL COURSE

initcap
将字符串转换成每个单词以大写开头
initcap('SQL course')
Sql Course

concat
连接两个字符串
concat('SQL', ' Course')
SQL Course

substr
给出起始位置和长度,返回子字符串
substr('String',1,3)
Str

length
求字符串的长度
length('Wellcom')
7

instr
给出起始位置和出现的次数,求子字符串在字符串中出现的位置
instr('String', 'r',1,1)
3

lpad
用字符填充字符串左侧到指定长度
lpad('Hi',10,'-')
--------Hi

rpad
用字符填充字符串右侧到指定长度
rpad('Hi',10,'-')
Hi--------

trim
在一个字符串中去除另一个字符串
trim('S' FROM 'SSMITH')
MITH

replace
用一个字符串替换另一个字符串中的子字符串
replace('ABC', 'B', 'D')
ADC



数值函数:
abs(m)  m的绝对值
mod(m,n) m被n除后的余数
power(m,n) m的n次方
round(m[,n]) m四舍五入至小数点后n位的值(n缺省为0)
trunc(m[,n]) m截断n位小数位的值(n缺省为0)
--------------------------------------------------------------------------------
字符函数:
initcap(st) 返回st将每个单词的首字母大写,所有其他字母小写
lower(st) 返回st将每个单词的字母全部小写
upper(st) 返回st将每个单词的字母全部大写
concat(st1,st2)  返回st为st2接st1的末尾(可用操作符"||")
lpad(st1,n[,st2]) 返回右对齐的st,st为在st1的左边用st2填充直至长度为n,st2的缺省为空格
rpad(st1,n[,st2]) 返回左对齐的st,st为在st1的右边用st2填充直至长度为n,st2的缺省为空格
ltrim(st[,set])  返回st,st为从左边删除set中字符直到第一个不是set中的字符。缺省时,指的是空格
rtrim(st[,set])  返回st,st为从右边删除set中字符直到第一个不是set中的字符。缺省时,指的是空格
replace(st,search_st[,replace_st]) 将每次在st中出现的search_st用replace_st替换,返回一个st。缺省时,删除search_st
substr(st,m[,n]) n=返回st串的子串,从m位置开始,取n个字符长。缺省时,一直返回到st末端
length(st) 数值,返回st中的字符数
instr(st1,st2[,m[,n]])  数值,返回st1从第m字符开始,st2第n次出现的位置,m及n的缺省值为1
例:
1.
select initcap('THOMAS'),initcap('thomas') from test;
initca initca
------ ------
Thomas Thomas
2.
select concat('abc','def') "first" from test;
first
-----
abcdef
3.
select 'abc'||' '||'def' "first" from test;
first
-----
abc def
4.
select lpad(name,10),rpad(name,5,'*') from test;
lpad(name,10) rpad(name,5,'*')
------------ ----------------
         mmx mmx**
      abcdef abcde
5.
去掉地址字段末端的点及单词st和rd
select rtrim(address,'. st rd') from test
6.
select name,replace(name,'a','*') from test;
name  replace(name,'a','*')
----  ---------------------
great gre*t
7.
select substr('archibald bearisol',6,9) a,substr('archibald bearisol',11) b from test;
a         b
-------   -------
bald bear bearisol
8.
select name,instr(name,' ') a,instr(name,' ',1,2) b from test;
name    a        b
------- -------- ---------
li lei  3        0
l i l   2        4
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
转换函数:
nvl(m,n) 如果m值为null,返回n,否则返回m
to_char(m[,fmt]) m从一个数值转换为指定格式的字符串fmt缺省时,fmt值的宽度正好能容纳所有的有效数字
to_number(st[,fmt]) st从字符型数据转换成按指定格式的数值,缺省时数值格式串的大小正好为整个数
附:
to_char()函数的格式:
---------------------------------
符号    说明
---------------------------------
9       每个9代表结果中的一位数字
0       代表要显示的先导0
$       美元符号打印在数的左边
L       任意的当地货币符号
.       打印十进制的小数点
,       打印代表千分位的逗号
---------------------------------
例:
1.
select to_number('123.45')+to_number('234.56') form test;
to_number('123.45')+to_number('234.56')
----------------------------------------
                               358.01
2.
select to_char(987654321) from test;
to_char(987654321)
------------------
987654321
3.
select to_char(123,'$9,999,999') a,to_char(54321,'$9,999,999') b,to_char(9874321,'$9,999,999') c from test;
a       b          c
------- ---------- -----------
$123    $54,321    $9,874,321
4.
select to_char(1234.1234,'999,999.999') a,to_char(0.4567,'999,999.999') b,to_char(1.1,'999,999.999') from test;
a         b          c
--------- ---------- ------------
1,234.123 .457       1.100
--------------------------------------------------------------------------------
分组函数:
avg([distinct/all] n) 列n的平均值
count([all] *)  返回查询范围内的行数包括重复值和空值
count([distinct/all] n) 非空值的行数
max([distinct/all] n) 该列或表达式的最大值
min([distinct/all] n) 该列或表达式的最小值
stdev([distinct/all] n) 该列或表达式的标准偏差,忽略空值
sum([distinct/all] n) 该列或表达式的总和
variance([distinct/all] n) 该列或表达式的方差,忽略空值
--------------------------------------------------------------------------------
日期函数:
add_months(d,n)  日期d加n个月
last_day(d)  包含d的月份的最后一天的日期
month_between(d,e) 日期d与e之间的月份数,e先于d
new_time(d,a,b)  a时区的日期和时间d在b时区的日期和时间
next_day(d,day)  比日期d晚,由day指定的周几的日期
sysdate  当前的系统日期和时间
greatest(d1,d2,...dn) 给出的日期列表中最后的日期
least(d1,k2,...dn) 给出的日期列表中最早的日期
to_char(d [,fmt]) 日期d按fmt指定的格式转变成字符串
to_date(st [,fmt]) 字符串st按fmt指定的格式转成日期值,若fmt忽略,st要用缺省格式
round(d [,fmt])  日期d按fmt指定格式舍入到最近的日期
trunc(d [,fmt])  日期d按fmt指定格式截断到最近的日期
附:
日期格式:
--------------------------------
格式代码     说明   举例或可取值的范围
--------------------------------
DD            该月某一天  1-3
DY    三个大写字母表示的周几 SUN,...SAT
DAY    完整的周几,大写英文 SUNDAY,...SATURDAY
MM       月份   1-12
MON      三个大写字母表示的月份 JAN,...DEC
MONTH         完整   JANUARY,...DECEMBER
RM       月份的罗马数字  I,...XII
YY或YYYY      两位,四位数字年
HH:MI:SS   时:分:秒
HH12或HH24  以12小时或24小时显示
MI      分
SS      秒
AM或PM    上下午指示符
SP      后缀SP要求拼写出任何数值字段
TH      后缀TH表示添加的数字是序数 4th,1st
FM            前缀对月或日或年值,禁止填充
---------------------------------
例:
1.
下一个周五的日期
select next_day(sysdate,6) from test;
2.
两个月前的今天的日期
select add_months(sysdate,-2) from test;

分享到:
评论

相关推荐

    Oreacle数据库单行函数练习题(包答案)

    ### Oracle数据库单行函数知识点详解 #### 一、数值处理函数 **1. ROUND 函数** - **功能描述:** `ROUND` 函数用于对数值进行四舍五入操作,可以指定四舍五入的精度。 - **语法结构:** `ROUND(number, ...

    Oracle常用单行函数

    Oracle数据库系统提供了丰富的单行函数,这些函数在日常的编程和数据处理中极为重要。本文主要介绍Oracle中的字符函数、数学函数、日期函数以及转换函数。 首先,让我们详细探讨字符函数。字符函数主要用于处理字符...

    oracle第4章 单行函数

    在Oracle数据库的学习过程中,了解并掌握单行函数是非常重要的一步。单行函数是指针对每一行的数据进行处理,并返回一个处理结果的函数。这类函数在查询语句中非常常见,能够帮助我们更灵活地处理数据,提高查询效率...

    数据库开发 Oracle数据库 SQL开发教程 全套PPT课件 共20个章节.rar

    数据库开发 Oracle数据库 SQL开发教程 第04章 单行函数(共61页).pdf 数据库开发 Oracle数据库 SQL开发教程 第05章 多表连接(共48页).pdf 数据库开发 Oracle数据库 SQL开发教程 第06章 分组函数(共41页).pdf ...

    Oracle 数据库的常用函数列表一览

    本篇文章将深入探讨Oracle数据库中的一些常用函数,包括单行函数、处理NULL值的方法以及单行字符串函数。 首先,单行函数是SQL和PL/SQL中处理单行数据的关键工具。它们广泛应用于SELECT、WHERE、ORDER BY等子句,...

    数据库开发 Oracle数据库 SQL开发教程 第04章 单行函数(共61页).pdf

    Oracle数据库的SQL开发教程中,第四章主要讲解了单行函数的使用,这是数据库查询语言SQL中的重要组成部分。单行函数在SQL中扮演着转换、处理数据的角色,它们对单行数据进行操作并返回单一结果。这些函数可以用于...

    Oracle查询练习(单行,函数查询)

    Oracle数据库是世界上最流行的数据库管理系统之一,尤其在企业级应用中占据重要地位。其强大的SQL查询能力使得数据处理变得高效且灵活。在这个“Oracle查询练习(单行,函数查询)”中,我们将深入探讨两种关键的...

    Oracle数据库的常用函数列表快速查

    这些单行函数极大地丰富了SQL的功能,使得在Oracle数据库中进行数据处理和分析变得更加灵活和高效。熟悉并熟练掌握这些函数,对于提升数据库操作的效率和准确性至关重要。在实际工作中,根据具体需求选择合适的函数...

    Oracle数据库中单行字符串函数简介

    Oracle数据库中的单行字符串函数是处理和操作字符串数据的关键工具,它们主要用于字符串的组合、转换、查找、截取等操作。下面将详细介绍这些函数的功能和用法。 1. ASCII() 函数:ASCII()函数接收一个字符串作为...

    Oracle数据库学习指南

    13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整原则 17.创建和使用分区的表 18.基于成本的优化器一般错误概念和问题 19.Delphi 3_0中连接数据库的三种方式 20....

    ORACLE单行函数和组函数

    Oracle数据库中的单行函数和组函数是非常重要的工具,它们可以帮助我们高效地处理数据。通过合理使用这些函数,我们可以轻松完成复杂的数据分析任务。了解并掌握这些函数的功能和使用方法对于提高数据库操作效率具有...

    oracle03单行函数.ppt

    Oracle数据库中的单行函数是SQL查询中不可或缺的一部分,它们用于处理单行数据并返回单一结果。这些函数可以操作字符、数字和日期数据类型,帮助我们完成数据转换、格式化和计算等多种任务。以下是对这些单行函数的...

    Oracle数据库视频教程【26集】

    教程名称:Oracle 数据库视频教程【26集】教程目录:【】00-Oracle序【】01-基本查询【】02-过滤和排序【】03-单行函数【】04-多行函数【】05-多表查询【】06-子查询【】07-集合运算【】08-处理数据【】09-创建和...

    Oracle_PL(SQL)单行函数和组函数及使用

    在Oracle数据库中,SQL 和 PL/SQL 提供了大量的内置函数,这些函数可以极大地提高开发效率和简化查询逻辑。根据处理数据的不同方式,这些函数可以分为单行函数和组函数两大类。 - **单行函数**:对每一行数据执行一...

    oracle总结,PLSQL单行函数和组函数详解

    Oracle数据库中的函数是SQL查询和PL/SQL编程中不可或缺的一部分,它们帮助我们处理和操作数据。函数分为两类:单行函数和组函数。本篇将详细介绍这两种函数,并以Oracle数据库为例,探讨它们的使用和重要性。 单行...

    oracle数据库考试复习题

    以上内容涵盖了Oracle数据库基础的查询语法、事务管理、权限控制、游标使用、存储过程和函数以及程序包等方面的知识点,这些都是备考Oracle数据库考试时需要重点掌握的内容。通过深入理解和实践这些概念,将有助于...

    oracle数据库sql基础

    **Oracle数据库SQL基础** 在IT领域,Oracle数据库是全球广泛使用的数据库管理系统之一,而SQL(结构化查询语言)则是与数据库交互的基础工具。本篇将深入讲解Oracle SQL的基础知识,包括基本的SQL语句、单行函数、...

    Oracle数据库Sql语句详解大全

    熟悉各种类型单行函数的使用 掌握转换函数的使用 第四章 关联查询 在一张或多张表中使用等值或非等值连接 使用外连接查询 自连接查询 第五章 组函数 定义及有效的使用组函数 使用Group By对查询数据分组 使用...

    PLSQL单行函数和组函数详解

    总的来说,掌握PL/SQL的单行函数和组函数对于数据库开发和查询优化至关重要。理解它们的用法和特性,能够帮助我们编写出更高效、更准确的SQL语句,从而更好地管理和分析数据库中的数据。通过不断实践和学习,我们...

    Oracle 数据库系统作业

    #### 一、Oracle数据库系统的物理存储结构 **1. 数据文件** - **概念**: 数据文件是Oracle数据库物理存储结构的重要组成部分之一,用于存储数据库的实际数据。 - **特点**: 一个表空间可以对应一个或多个数据文件...

Global site tag (gtag.js) - Google Analytics