Oracle基础语法
Select语句及过滤
(1)语法:
(2)注意
① 大小写不敏感
② SQL可以写一行或多行
③ 关键字不能缩写也不能分行
④ 各个子句一般要分行写
使用缩进提高语句的可读性
(3)使用数字运算符
数字和日期可以使用算数运算符
(4)操作符优先级
① 乘除的优先级高于加减
② 同一优先级运算符从左向右执行
③ 括号内的运算符先执行
④ 空值的数学表达式都为空值
(5)列的别名
是一个重命名的一个列,便于计算,紧跟列名,也可以在列名和别名之间加 ‘AS’ ,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写
(6)连接符
用 “||” 来将列与列、列与字符连接在一起
例如将名字和工种id相连:
(7)比较运算
① 基本比较运行符
“== 、> ,>=,<,<=,<>不等于, :=赋值符号”
② 其他比较运算符
BETWEEN…AND,IN(),LIKE,IS NULL
③ 转义符
回避特殊符号使用转义符,只要在特殊符号前加 ‘\’,然后再加上 ESCAPE ''即可。
(8)逻辑运算
① AND 逻辑与,全为真为真
② OR 逻辑或,有一个真就为真
③ NOT 逻辑非,取反
(9)优先级
(10)字符串
字符串可以是SELECT 列表中的一个字符、数字、日期,其中日期和字符只能在单引号中出现。
(11)去除重复行
在SELECT 子句中使用关键字“DISTINCT”删除重复行记录
(12)显示表结构
使用DESCRIBE命令表示表结构
二 函数
1 单行函数
用于操作数据对象,接受参数返回一个结果,只对一行进行变换,每行返回一个结果,可以转换数据类型,可以进行嵌套,参数可以是一列或一个值。
(1)字符函数
① 大小写控制函数
LOWER,UPPER,INITCAP
② 字符控制函数
CONCAT,SUBSTR,LENGTH,INSTR,LPAD,RPAD,TRIM,REPLACE
③ 数字函数
ROUND,TRUNC,MOD
④ 日期函数
在日期上加上或减去一个数字结果仍为日期,两个日期相减返回日期之间相差的天数
可以用数字除以24来向日期中加上或减去天数
三 类型转换
1 隐式数据类型转换
Oracle自动完成下列的转换
2 显式转换
(1)TO_CHAR函数对日期的转换
必须包含在单引号内且大小写敏感,可以包含任意的有效日期格式,日期间用逗号隔开,使用双引号向日期中添加字符
(2)TO_DATA函数对字符的转换
(3)TO_CHAR函数对数字的转换
下面是TO_CHAR函数中经常使用的几种格式
(4)TO_NUMBER函数对字符的转换
四 通用函数
1 NVL函数
将空值转换成一个已知的值
可以使用日期、字符和数字等数据类型
NVL(expr1,expr2)
NVL(expr1,expr2,expr3)类似于三目条件运算符
2 NULLIF函数
NULLIF(expr1,expr2);相等返回null,否则返回expr1列下的数据值
3 COALESCE函数
COALESCE与NVL相比可以同时处理交替的多个值,如果第一个表达式为空,则返回下一个表达式,对其他的参数进行COALESCE。
五 条件逻辑控制
1 CASE表达式
语法:
案例:
2 DECODE函数
语法:
案例: