plsql常用函数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLSQL常用函数
1)处理字符的函数
|| CONCAT ---并置运算符。
格式∶CONCAT(STRING1, STRING2)
例:’ABC’|| ’DE’=’ABCDE’
CONCAT(‘ABC’,’DE’) =’ABCDE’
INSTR---搜索子串位置
格式∶INSTR(STRING , SET[ , 开始位置[ , 出现次数]])
例∶ INSTR (‘this is a test’ , ‘i’ , 1,2)=6
LENGTH----计算串长
格式∶ LENGTH(string)
LTRIM,RTRIM,TRIM -----左截断,右截断,左右截断。默认为删除空格。
格式∶ LTRIM(STRING[,‘SET’])
例∶ LTRIM(‘***tes*t***’,’*’)=’tes*t***’
LOWER----将字符串转换为小写
格式∶LOWER(string)
UPPER---将字符串转换为大写
格式∶UPPER(string)
SUBSTR----提取子串。START为正数时从左开始、为负数时从右开始
格式∶ SUBSTR(STRING , START [ , COUNT])
例∶ SUBSTR(‘WORDSTAR’ , 2 , 3)=’ ORD’
REPLACE---搜索指定字符串并替换
格式∶REPLACE(string , substring , replace_string)
例∶ REPLACE(‘this is a test’ , ‘this’ , ‘that an’)=’that an is a test’
2)处理数字的函数
ROUND---返回固定小数位数。
格式∶ROUND (value)value为数字
例∶ROUND (66.123,2)= 66.12
CELL---返回大于等于特定值的最小整数
格式∶CELL(value)
例∶ CELL(-10,9)= -10
3)处理日期
SYSDATE---系统时间。精确至秒
例:TO_CHAR(SYSDATE,'YYYY-MM-DD') 2011-05-11(返回日期)
TO_CHAR(SYSDATE,'YYYY-MM-DD HH:MI:SS') 2011-05-11 11:05:15(返回日期+时间)
常用日期数据格式
Y或YY或YYY 年的最后一位,两位或三位Select to_char(sysdate,’YYY’) from dual;
SYEAR或YEAR SYEAR使公元前的年份前加一负号Select to_char(sysdate,’SYEAR’) from dua l;-1112表示公元前111 2年
Q 季度,1~3月为第一季度Select to_char(sysdate,’Q’) from dual;2表示第二季度①
MM 月份数Select to_char(sysdate,’MM’) from dual;12表示12月
RM 月份的罗马表示Select to_char(sysdate,’RM’) from dual;IV表示4月
Month 用9个字符长度表示的月份名Select to_char(sysdate,’Month’) from dual;May后跟6个空格表示5月
WW 当年第几周Select to_char(sysdate,’WW’) from dual;24表示2002年6月13日为第24周W 本月第几周Select to_char(sysdate,’W’) from dual;2002年10月1日为第1周
DDD 当年第几, 1月1日为001,2月1日为032 Select to_char(sysdate,’DDD’) from dual;36 3 2002年1 2月2 9日为第363天
DD 当月第几天Select to_char(sysdate,’DD’) from dual;04 10月4日为第4天
D 周内第几天Select to_char(sysdate,’D’) from dual;5 2002年3月14日为星期一
DY 周内第几天缩写Select to_char(sysdate,’DY’) from dual;SUN 2002年3月24日为星期天
HH或HH12 12进制小时数Select to_char(sysdate,’HH’) from dual;02 午夜2点过8分为02 HH24 24小时制Select to_char(sysdate,’HH24’) from dual;14 下午2点08分为14
MI 分钟数(0~59) Select to_char(sysdate,’MI’) from dual;17下午4点17分
SS 秒数(0~59) Select to_char(sysdate,’SS’) from dual;22 11点3分22秒
提示注意不要将MM格式用于分钟(分钟应该使用MI)。MM是用于月份的格式,将它用于分钟也能工作,但结果是错误的。
ADD_MONTH—加减月份。numvalue为负数时减去相应月份
格式: ADD_MONTH (data1,numvalue)
MONTHS_BETWEEN---返回两日期之间的月数,当data1
格式: MONTHS_BETWEEN(data1,data2)
LAST_DAY---返回指定日期的最后一天。
格式∶LAST_DAY(date)
TRUNC---将日期按照format格式截短,缺省为DD(不是四舍五入)
格式:TRUNC(date, format)
例∶ TRUNC (to_date(‘2002-11-07’,’yyyy-mm-dd’),’MM’)= 2002-11-01
4)分组函数
返回基于多个行的单一结果.和TSQL基本一致。
常用函数:
AVG---求平均值
COUNT---返回查询的行数
MAX---返回查询列的最大值
MIN---返回查询列的最小值
SUM---返回查询列的总和
MAX, MIN常与GROUP BY配套使用