背景
之前学习Mysql的,基础语法就不介绍了,本篇专门记录Oracle中不一样的语法函数
语法
连字运算符

csharp
select last_name || ' ' ||first_name as name from EMPLOYEES t
文字字符串
文字字符串不是列名或者别名,对每个返回行打印一次。
任意格式文本的文字字符串能够被包含在查询结果中,做作为select列表中的列处理
日期和字符串必须放在单引号中,数字不需要

其他比较条件

优先规则

单行函数

字符函数

大小写处理函数

字符串处理函数

数字函数

日期函数
Sysdate
返回当前服务器的日期和时间

用日期计算

date + number

date - date

日期函数

months_between

add_months

next_day
last_day
round
四舍五入到天
四舍五入到年

四舍五入到月

隐式类型转换
直接赋值转换

char => number

表达式赋值

隐式转换的问题
性能影响
隐式转换会导致索引的无效,进而导致全表扫描
不便于阅读
使得数据库编程人员和DBA难以了解究竟发生了怎么样的类型转换,
而且如果代码很多很长,查出问题就要费很大的劲
显式类型转换

日期 → 字符串 to_char







数字 → 字符 to_char

字符串 → 数字 to_number

字符 → 日期 to_date
通用函数
可以用于任意数据类型,并且适用于空值

nvl
nvl2
nullif


coalesce
条件表达式
if-then-else

decode

using 子句
- 在多个列匹配时,用using子句匹配唯一的列
- 如果某列在using中使用,那么在引用该列时不要使用表名或者别名
- natural join 和 using 是相互排斥的

any

all
