SQL学习笔记 Day_02

一:日期操作函数

理解即可

MONTHS_BETWEEN ('01-SEP-95','11-JAN-94')  19.6774194
ADD_MONTHS ('11-JAN-94',6)  11-Jul-94
NEXT_DAY ('01-SEP-95','FRIDAY')  8-Sep-95
NEXT_DAY ('01-SEP-95',1)  3-Sep-95
NEXT_DAY ('1995-09-01',1)
ORA-
01861:literal
does not match
format string
NEXT_DAY (to_date('1995-09-01','YYYY-MM-DD'),1)  3-Sep-95
LAST_DAY('01-FEB-95')  28-Feb-95
ROUND('25-JUL-95','MONTH')  1-Aug-95
ROUND('25-JUL-95' ,'YEAR')  1-Jan-96
TRUNC('25-JUL-95' ,'MONTH')  1-Jul-95
TRUNC('25-JUL-95','YEAR')  1-Jan-95

二:日期运算

例:

SELECT last_name, (SYSDATE-hire_date)/7 AS WEEKS, sysdate+1 as
tomorrow , hire_date + 8/24
FROM employees
WHERE department_id = 90;

三:隐私转换规则

赋值操作

VARCHAR2 or CHAR        NUMBER
VARCHAR2 or CHAR        DATE
NUMBER                           VARCHAR2
DATE                                 VARCHAR2

比较操作

VARCHAR2 or CHAR       NUMBER
VARCHAR2 or CHAR       DATE

四:显式转换规则

常用的函数

to_char()  str_to_char()(mysql 中)

日期格式化元素 意义
YYYY              4位数字表示的年份
YEAR              英文描述的年份
MM              2位数字表示的月份
MONTH              英文描述的月份
MON              三个字母的英文描述月份简称
DD              2位数字表示的日期
DAY              英文描述的星期几
DY              三个字母的英文描述的星期几简称
HH24:MI:SS AM     时分秒的格式化
DDspth              英文描述的月中第几天
fm                      格式化关键字,可选

例:

SELECT last_name, TO_CHAR(hire_date, 'fmDD "of" Month YYYY') AS
HIREDATE
FROM employees;

五:其他常用单行函数

NVL(expr1,expr2)            如果expr1为空,则返回expr2

NVL2(expr1,expr2,expr3)  如果expr1为空,则返回expr3,否则返回expr2

NULLIF(expr1,expr2)            如果expr1和expr2相等则返回空

COALESCE(expr1,expr2,...,exprn)如果expr1不为空,则返回expr1,结束;否则计算expr2,直到找到
一个不为NULL的值 或者如果全部为NULL,也只能返回NULL了

Case和Decode的用法

CASE expr WHEN comparison_expr1 THEN return_expr1
[WHEN comparison_expr2 THEN return_expr2
WHEN comparison_exprn THEN return_exprn
ELSE else_expr]
END

DECODE(col|expression, search1, result1 [, search2, result2,...,]
[, default])

第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时,称R是满足第一范式的,简记为1NF。满足第一范式是关系模式规范化的最低要

求,否则,将有很多基本操作在这样的关系模式中实现不了。

第二范式:如果关系模式R满足第一范式,并且R得所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。

第三范式:设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,简记为3NF.

多表查询时,若未指定链接条件,结果返回的是一个笛卡尔乘积

多表关联查询可以分为

1 、等于链接
2 、不等链接
3 、外连接(可细分为左外连接、右外连接)
4、 自链接

练习笔记:https://github.com/fyyj/sql_day_01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值