Oracle 常见函数

背景

之前学习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 子句

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

any

all

相关推荐
布朗克1682 分钟前
38 Spring Boot入门——自动配置、核心注解与Starter机制
java·spring boot·后端
程序员老申7 分钟前
外呼突然全挂了,追查 24 分钟后我发现了 etcd 最阴的一颗雷
后端·程序员
何以解忧,唯有..7 分钟前
Go语言变量的声明方式详解
开发语言·后端·golang
长栎8 分钟前
MyBatis 缓存为啥总是失效?装饰器模式套娃的代价
后端
bright_ye10 分钟前
setjmp & longjmp 深度详解 + 代码示例
后端
To_OC10 分钟前
我一直以为 Ajax 是个黑盒,直到我写了这 50 行代码
前端·后端·全栈
她的男孩12 分钟前
AI 自动化编写 SQL 脚本,更要守住 Flyway 版本管理的防线
人工智能·后端
卷无止境14 分钟前
Python的ABC库探索:能不能在系统设计之初就定义好所有抽象类?
后端
卷无止境16 分钟前
Python collections 库深度解析:那些被低估的数据结构利器
后端
XovH20 分钟前
Redis 从入门到精通:分布式锁 —— 从 SETNX 到 Redlock
后端