oracle实用函数全集
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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




