接收字符输入返回字符或者数值,dual 是伪表
把小写的字符转换成大小的字符
upper('smith')
把大写字符变成小写字符
lower('SMITH')
四舍五入函数:ROUND() 默认情况下 ROUND 四舍五入取整,可以自己指定保留的位数。
Oracle 中提供了很多和日期相关的函数,包括日期的加减,在日期加减时有一些规律 日期 – 数字 = 日期 日期 + 数字 = 日期 日期 – 日期 = 数字
示例:查询雇员的进入公司的周数。
示例:查询所有雇员进入公司的月数
TO_CHAR:字符串转换函数 范例:查询所有的雇员将将年月日分开,此时可以使用 TO_CHAR 函数来拆分 拆分时需要使用通配符 年:y, 年是四位使用 yyyy 月:m, 月是两位使用 mm 日:d, 日是两位使用 dd
在结果中 10 以下的月前面被被补了前导零,可以使用 fm 去掉前导零
TO_DATE:日期转换函数 TO_DATE 可以把字符串的数据转换成日期类型
空值处理 nvl 范例:查询所有的雇员的年薪
我们发现很多员工的年薪是空的,原因是很多员工的奖金是 null,null 和任何数值计算都是null,这时我们可以使用 nvl 来处理。
Decode 函数:该函数类似 if…else if…esle 语法: DECODE(col/expression, [search1,result1],[search2, result2]…[default]) Col/expression:列名或表达式 Search1,search2…:用于比较的条件 Result1, result2…:返回值 如果 col/expression 和 Searchi 匹配就返回 resulti,否则返回 default 的默认值
范例:查询出所有雇员的职位的中文名
case when
CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END
select t.empno,
t.ename,
case
when t.job = 'CLERK' then
'业务员'
when t.job = 'MANAGER' then
'经理'
when t.job = 'ANALYST' then
'分析员'
when t.job = 'PRESIDENT' then
'总裁'
when t.job = 'SALESMAN' then
'销售'
else
'无业'
end
from emp t