oracle墙,Oracle 函数基础

这篇博客介绍了Oracle数据库的基础语法和函数使用,包括查询用户表、数据筛选、算术运算、日期处理、字符串操作等。通过实例展示了如SELECT、WHERE、BETWEEN、IN、ORDER BY等关键字的用法,并详细讲解了TO_CHAR、TO_DATE、NVL等函数的使用,以及CASE表达式和多表连接的概念。此外,还提到了数据类型的转换和处理空值的方法。
摘要由CSDN通过智能技术生成

Oracle 函数基础

Oracle 函数基础

开发工具与关键技术:PLSQL Developer,Oracle

撰写时间:2019年5月5日

Oracle 的基础语法其实不难,如果有过其他数据库基础的话,学起来可能会事半功倍

select * from user_tables;--可查询当前用户的表;

select * from all_tables;--可查询所有用户的表;

select * from dba_tables;--查询包括系统表的所有表

select * from biaoming;--查询该表的所有列

select lieming1,lieming2 from biaoming;-- 通过指定列名(以逗号分隔)来显示表的特定列;

select lieming1,lieming2+100 from biaoming;-- 使用算术运算符,数学计算(+,-,*,/)

select lieming1 as bieming from biaoming;--显示别名总是大写,除非用””

select distinct lieming1 from biaoming;--distinct 去重

select lieming1 from biaoming where tiaojian;--where 后面接条件对数据进行筛选

select lieming1 from biaoming between…and…;--查询…之间

select lieming1 from biaoming where lieming1 in ();--in 运算显示列表中的值

select lieming1 from biaoming order by lieming1;--order by 顺序排序order by desc 倒序排序

select lieming1 from biaoming where lower(lieming1) =’’--将混合大小写或大写字符串转换为小写

select lieming1 from biaoming where upper(lieming1) =’’--将混合大小写字符串转换为大写

select lieming1 from biaoming where initcap(lieming1) =’’--将每个单词的第一个字母转换为大写,其余字母转换为小写

select concat(lieming1,lieming2)  from biaoming;--将两个值连在一起

select lieming1 from biaoming where substr(lieming1,X,Y)=’XY’; 提取一个确定长度的字符串;从X开始截,截到Y为XY

select length(lieming1)from biaoming;--将字符串的长度显示为数值;

select instr(lieming1,‘a’) from biaoming;--查找指定字符的数字位置;

select round(38.3881,2) from dual;--四舍五入

select mod(lieming1,被除数) from biaoming;--求余;

select lieming1,Months_between(sysdate, lieming1) from biaoming名;--两个日期相差的月数;

select  next_day('01-3月-19','星期五') from biaoming;------指定日期的下一个星期 * 对应的日期

select last_day('01-2月-19') from dual;------本月的最后一天

select sysdate ,round(sysdate,'year') from dual;----对年份的四舍五入,月份同理;

select sysdate ,trunc(sysdate,'year') from dual;---日期截断,y月份同理;

select lieming1,to_char(lieming1,‘YYYY-MM-DD’)FROM biaoming;--to_char函数对日期的转换

select to_char(sysdate,'YYYY"年"MM"月"DD"日"hh:mi:ss') from dual;--to_char函数对日期的转换

select to_date('2019年03月01日11:49:49','YYYY"年"MM"月"DD"日"hh:mi:ss') from dual;--TO_DATE 函数对字符的转换

select lieming1 to_char('lieming1 ',‘L99,999,99.00’) from lieming;--TO_CHAR函数对数字的转换

select to_number('¥1,234,567,890.00','L999,999,999,999.99') from dual;-----TO_NUMBER 函数对字符的转换

select trim(leading 'h' from 'hello') "test_trim" from dual;----处理开头字符,trim函数

select lpad('lieming', 10,'*') from dual;---左对齐;

单行函数

不同的数据类型无法做到相加减,在这种情况下需要对数据进行处理,即 数据类型转换;数据类型转换分为 隐式数据类型转换、显式数据类型转换;oracle 可以自动完成隐式数据类型转换;

TO_CHAR 函数对日期的转换:1.必须包含在单引号中而且大小写敏感;2. 可以包含任意的有效的日期格式;3.日期之间用逗号隔开;

Select to_char(sysdate,’DD-MM-YYYY’) from dual;

时间格式:HH24:MI:SS AM---23:06:45 pm

使用双引号向日期中添加字符: DD ”of” MM---09-of Jan.

TO_CHAR函数对数字的转换:

select lieming1 to_char(' lieming1 ',‘L99,999,99.00’) from biaoming;

通用函数

这些函数适用于任何数据类型,同时也适用于空值;

select NVL(lieming1,’That is null’) from biaoming;--关键字:NVL,在这语句中,如果lieming1中的值为空,则显示‘That is null’

select NVL2(lieming1,lieming1+100,50) from biaoming;--关键字:NVL2,在这语句中,如果lieming1的值为空,则显示50,如果lieming1的值不为空,则在原来的基础上+100再显示

select NULLIF(lieming1,lieming2) from biaoming;--关键字:NULLIF,在这语句中,如果lieming1的值与lieming2的值相等,则返回NULL,否则返回lieming1的值;

case 表达式:

select lieming1,lieming 2,

case  lieming1 when … then …

when…then…

when…then…

else lieming1 end  from biaoming;

嵌套函数

单行函数可以嵌套;

嵌套的执行顺序是由内到外;

As:

Select sysdate – to_date(‘1999-11-01’,’YYYY-DD-MM’) from dual;

先执行to_date函数,再进行运算;

笛卡尔集

笛卡尔集会在如下条件产生:

1. 省略连接条件

2.连接条件无效

3.所有表中的所有行互相连接

Employees中有108条数据,departments中有27条数据,在没有连接条件过滤筛选的情况下,两表相连产生了3348条数据,如下:

多表连接

使用多个表连接查询,在WHERE 子句中写入连接条件,且在表中有相同列时,在列名之前加上表名前缀;连接 n个表,至少需要 n-1个连接条件;

多表连接—等值连接;

多表连接—非等值连接;

多表连接—外连接:使用外连接可以查询不满足连接条件的数据,符号为 ‘+’;

多表连接—自3连接:如下图

Oracle 函数基础相关教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值