标签:符号 tcap 单行函数 截断 ast last 计算 http init
单行函数:对于每一行数据进行计算后得到一行输出结果、
SQL单行函数根据数据类型分为字符函数、数字函数、日期函数、转换函数,另外还有一些通用函数。例如NVL函数
concat:连接字符串, substr:分隔字符串, length:字符串长度
instr:字符串中首次出现字母的位置
lpad:左端补齐
rpad:右端补齐
trim:在字符串收尾去掉相应的字符,中间的保留
replace:全部替换
round:四舍五入
trunc:截断
mod:求余
在日期上加减数字
日期相减
MONTHS_BETWEEN:两个日期相差的天数
ADD_MONTHS:向指定日其中添加若干月数
NEXT_DAY:指定日期的下一个星期*对应的日期
LAST_DAY:本月的最后一天
-- 来公司的员工中,hire_date是每个月倒数第二天来公司的有哪些?
ROUND:日期四舍五入
TRANC:日期截断
数据类型转换:隐性转换和显性转换
隐式转换
显性转换
日期转换为字符串
字符串转化为日期
在转化时要穿插字符的时候,要使用双引号
数字转字符串(货币符号:$ 美元 , L 当地货币符号)
字符串转数字
NVL(exp1,exp2):若exp1不为空,则使用exp1本身,若exp1为空,则使用exp2
1.可以使用的数据类型有日期、字符、数字
2.函数的一般形式:
-- 求公司员工的年薪(含commission_pct) 奖金率
-- 输出last_name,department_id,当department_id为null时,显示‘没有部门’。
NVL2(exp1,exp2,exp3):若exp1为空,返回exp2,否则,返回exp3
-- 查询员工的奖金率,若为空,返回0.01, 若不为空,返回实际奖金率+0.015
NULLIF(exp1,exp2):exp1等于exp2时返回null,不等时返回exp1
比较员工姓和名的长度,相同返回null,不同返回名的长度
COALESCE(不常用)
在SQL语句中使用IF-THEN-ELSE逻辑
使用两种方法
-- 查询部门号为 10, 20, 30 的员工信息, 若部门号为 10, 则打印其工资的 1.1 倍, 20 号部门, 则打印其工资的 1.2 倍, 30 号部门打印其工资的 1.3 倍数
在需要使用IF-THEN-ELSE逻辑时:
1、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
2、DECODE函数
DECODE(col|expression, search1, result1 ,
[, search2, result2,...,]
[, default])
标签:符号 tcap 单行函数 截断 ast last 计算 http init
原文地址:https://www.cnblogs.com/wffrzh/p/9408384.html