单行函数


单行函数介绍
---单行函数对单行操作
---每行返回一个结果
---有可能返回值与原参数数据类型不一致(转换函数)
---单行函数可以写在SELECT,WHERE,ORDER BY子句中
---有些函数没有参数,有些函数有一个或多个参数
---函数可以嵌套  

字符函数
字符大小写操作函数:
LOWER(列名|表达式) :将字符转换为小写
UPPER(列名|表达式) :将字符转换为大写
INITCAP(列名|表达式) :将字符串首字母大写,其余小写。

字符处理函数:
CONCAT:l连接两个值 等同于||  eg: concat('Good','String') -->GoodString
SUBSTR:字符串截取              eg:substr('string',1,4)-->stri
LENGTH:字符长度                    eg:length('string')-->6
INSTR:返回s1中,子串s2从n1开始,第n2次出现的位置。n1,n2默认值为1格式:INSTR(s1,s2,[,n1],[n2])
                                                 eg:instr('string','r')-->3
LPAD:左填充                            eg:lpad(sal,5,'*')-->*****4000
RPAD:右填充                           eg:rpad(sal,5,'*')-->4000*****
TRIM:去掉左右两边指定字符 eg:trim('S' FROM 'SSMITH'-->MITH
REPLACE:替换字符串               eg:replace('abc','b','d')--adc

数字函数
ROUND(列名|表达式,n):四舍五入到小数点后第n位  
TRUNC(列名|表达式,n):截取到到小数点后第n位
MOD(m,n):m对n取余

常用日期函数
SYSDATE:返回系统日期
MONTHS_BETWEEN:返回两个日期间隔的月数                 eg:MONTHS_BETWEEN(SYSDATE,hire_date)
ADD_MONTHS:在指定日期基础上加上相应的月数             eg:ADD_MONTHS(hire_date,3)
NEXT_DAY:返回某一日期的下一个指定日期                       eg:NEXT_DAY('02-2月-06','星期一')
LAST_DAY:返回指定日期当月最后一天的日期
ROUND(date[,'fmt'])将date按照fmt指定的格式进行四舍五入,fmt为可选项,如果没有指定fmt,则默认为DD’,将date四舍五入为最近的天。
格式码:世纪CC,年YY,月MM,日DD,小时HH24,分MI,秒SS
RUNC(date[,'fmt'])将date按照fmt指定的格式进行截取,fmt为可选项,如果没有指定fmt,则默认为‘DD’,将date截取为最近的天。
EXTRACT:返回从日期类型中取出指定年、月、日              eg:EXTRACT (MONTH FROM HIRE_DATE)

通用函数

与空值相关的一些函数
NVL(表达式1,表达式2):表达式如果为空时返回表达式2.   eg:NVL(hire_date,'01-JAN-06')
NVL2(表达式1,表达式2,表达式3):1 不为空输出2,1为空输出3.eg:salary,NVL2(commission_pct,salary + commission_pct,salary)
NULLIF (表达式1, 表达式2):函数主要是完成两个参数的比较。当两个参数不相等时,返回值是第一个参数值;当两个参数相等时,返回值是空值。
COALESCE (表达式1, 表达式2, ... 表达式n):返回第一个不为空的参数  eg:COALESCE(commission_pct,salary*1.1, 100)

条件处理函数
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

CASE commission_pct
WHEN 0.1 THEN '低'
WHEN 0.2 THEN '中'
WHEN 0.3 THEN '高'
ELSE '无'
END)

DECODE(字段|表达式, 条件1,结果1[,条件2,结果2…,][,缺省
值])

decode( commission_pct,
0.1,'低',
0.2,'中',
0.3 , '高',
'无') Commission



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值