教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

oracle实用函数全集

来源:网络收集 时间:2026-10-01
导读: Oracle 常用SQL函数 单行函数包括,字符、数字、日期、转换和普通函数。 字符函数举例: 全小写 LOWER('SQL Course') sql course 全大写 UPPER('SQL Course') SQL COURSE 首字母大写 INITCAP('SQL Course') Sql Course 拼接 CONCAT('Good', 'String') GoodSt

Oracle 常用SQL函数

单行函数包括,字符、数字、日期、转换和普通函数。

字符函数举例:

全小写 LOWER('SQL Course') sql course

全大写 UPPER('SQL Course') SQL COURSE

首字母大写 INITCAP('SQL Course') Sql Course 拼接 CONCAT('Good', 'String') GoodString 取子串 SUBSTR('String',1,3) Str 求长度 LENGTH('String') 6 数字函数举例: ROUND -- 对数值进行四舍五入操作 TRUNC -- 截断。注意截断和舍入的位数,可以是负数。 ROUND (45.923, 2) 45.92 ROUND (45.923, 0) 46 ROUND (45.923, -1) 50 TRUNC (45.923, 2) 45.92 TRUNC (45.923) 45 TRUNC (45.923, -1) 40

MOD -- 返回两数相除的余数

MOD(1600, 300) -- 100

日期函数:

Oracle将日期按照内部格式将日期存成以下七个字节-世纪、年、月、日、 时、分、秒。 在Oracle中日期缺省的显示格式为:DD - MON - YY 。 可以使 用系统变量 SYSDATE 获取系统时间 。查看 SYSDATE时,可以使用虚拟表DUAL。 举例:

求两个日期间有多少个月MONTHS_BETWEEN('01-SEP-95','11-JAN-94')

1.9774194

在日期上加指定的月数ADD_MONTHS('11-JAN-94',6)'11-JUL-94'

下一个星期几是什么时候NEXT_DAY('01-SEP-95','FRIDAY')'08-SEP-95'

某月最后一天LAST_DAY('01-SEP-95')'30-SEP-95'

把日期四舍五入到月份 ROUND('25-MAY-95','MONTH') 01-JUN-95 ROUND('25-MAY-95 ','YEAR') 01-JAN-95 把日期截断到月份 TRUNC('25-MAY-95 ','MONTH') 01-MAY-95 TRUNC('25-MAY-95 ','YEAR') 01-JAN-95

转换函数

TO_CHAR 将数字或日期转换为字符串 TO_NUMBER 将字符串转换成数字 TO_DATE 将字符串转换成日期 在转换函数中会使用格式串 TO_CHAR(date, 'fmt') 格式串包含在''中, 大小写敏感, 可以是任意有效的日期 格式 格式串: YYYY 表示完整的四位数字年 YEAR 表示英文拼写的年 MM 表示两位数字月 MONTH 表示英文全拼的年 DY 表示三位缩写的星期 DAY 表示英文全拼的星期 一些特殊用法: 时间格式 HH24:MI:SS AM 15:45:32 PM 在格式串中加入字符串 DD " of " MONTH 12 of OCTOBER 用后缀拼出整个日期 ddspth fourteenth TO_CHAR(number, 'fmt') 使用此函数将数字转换成数字 9 表示数字 0 强制为0 $ 设置美元符号 L 使用当前字符集的货币符号 . 小数点 , 千位分隔符

可以使用TO_NUMBER将字符串转换成数字

可以使用TO_DATE将字符串转换成格式日期

TO_DATE ('10 September 1992', 'dd Month YYYY')

使用格式串

TO_DATE(char [, 'fmt'])

普通函数

NULL值处理函数

NVL (expr1, expr2) 如果expr1为NULL,返回expr2 NVL2 (expr1, expr2, expr3) 如果expr1为非空,则返回expr2,如果expr1为NULL,则返回expr3 NULLIF (expr1, expr2)

如果expr1=expr2,返回NULL,否则返回expr1

COALESCE (expr1, expr2, ..., exprn)

返回表达式列表中的第一个非空表达式

条件表达式,用case表达式或decode实现条件逻辑

CASE表达式

CASE expr WHEN comparison_expr1 THEN return_expr1

[WHEN comparison_expr2 THEN return_expr2

WHEN comparison_exprn THEN return_exprn

ELSE else_expr]

END

decode函数

DECODE(col|expression, search1, result1

[, search2,result2,...,]

[, default])

分组函数:

AVG (DISTINCT|ALL|n)

COUNT (DISTINCT|ALL|expr|*)

MAX (DISTINCT|ALL|expr)

MIN (DISTINCT|ALL|expr)

STDDEV (DISTINCT|ALL|n)

SUM (DISTINCT|ALL|n)

VARIANCE (DISTINCT|ALL|n)

常用SQL字符串函数问题集锦

出处:开店乐电子商务研究 http://doc.guandang.net 作者:开店乐电

2007-12-8 17:57:52

更新时间:

问:

请教一个SQL 2000 SEVER问题:

select * from itemcode

where code like '40%'

如何让code=40101001

变成code=401-01-001

目前有666个CODE是类似40101001

用什么语句能把它变成401-01-001

答:

update itemcode set code=replace(code,left(code,8),left(code,3)+'-'+substring(code,4,2)+'-'+substring(code,6,3)) where code like '40%'

update itemcode set code=replace(code,left(code,8),left(code,3)||'-'||substr(code,4,2)||'-'||substr(code,6,3)) where code like '40%'(PL/SQL语法)

问:

replace(code,left(code,8),left(code,3)+'-'+substring(code,4,2)+'-'+substring(code,6,3))是什么意思?

答:

拿 code=123456789 做例子

a = left(code,8) = 12345678

b = left(code,3) = 123

c = substring(code,4,2) = 45

d = substring(code,6,3) = 678

e = b+'-'+c+'-'+e = 123-45-678

f = replace(code,a,e) = 123-45-6789

配合下边的来看,应该能明白了

1、left(code,8) 取前8位

2、substring(code,4,2) 从第4位开始取2位

3、+ 是字符串连接符

4、replace(a,str1,str2) 将a中的str1替换为str2

几问几答下来,我就想着要整理一份完整的SQL字符串函数出来,借以学习和方便以后查询。

SQL字符串函数

字符串函数对二进制数据、字符串和表达式执行不同的运算。此类函数作用于CHAR、VARCHAR、 BINARY、 和VARBINARY 数据类型以及可以隐式转换

为CHAR 或VARCHAR的数据类型。可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用字符串函数。常用的字符串函数有:

一、字符转换函数

1、ASCII()

返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。

2、CHAR()

将ASCII 码转换为字符。如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL 。

3、LOWER()和UPPER()

LOWER()将字符串全部转为小写;UPPER()将字符串全部转为大写。

4、STR()

把数值型数据转换为字符型数据。

STR (<float_expression>[,length[, <decimal>]])

length 指定返回的字符串的长度,decimal 指定返回的小数位数。如果没有指定长度,缺省的length 值为10, decimal 缺省值为0。

当length 或者decimal 为负值时,返回NULL;

当length 小于小数点左边(包括符号位)的位数时,返回length 个*;

先服从length ,再取decimal ;

当返回的字符串位数小于length ,左边补足空格。

二、去空格函数

1、LTRIM() 把字符串头部的空格去掉。

2、RTRIM() 把字符串尾部的空格去掉。 …… 此处隐藏:7673字,全部文档内容请下载后查看。喜欢就下载吧 ……

oracle实用函数全集.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1412480.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)