欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

拓展

程序员文章站 2022-05-06 17:23:45
...

拓展

1.数据类型
用来描述表中列的数据的类别

字符型:限制该列的数据只能为字符型数据,包含:0~9数字,大小写字母,汉字,特殊字符…

关键字:CHAR(N):说明该列只能存储长度为N的字符串 ,定长,长度:1~2000
VARCHAR2(N):说明该列只能存储长度为N的字符串,变长,长度:1~4000

数值型:NUMBER(P,S)指明给列只能存储数值型数据,包含:0~9
参数P:说明数据中一共含有p位数字
参数S:说明数据中含有S为小数
整数的个数=P-S
若只有一个参数,代表该列为整数

–数据小数位过多自动四舍五入
–参数P和参数S:指数据中最大含有P个数字,其中包含S个小数

日期型:DATE 指明该列只能为日期

格式:YYYY 年份
MM 月份
DD 天

   TIMESTAMP 时间戳 

SELECT LOCALTIMESTAMP FROM DUAL;–查看当下的时间戳

–输入的日期格式的字符均为字符型数据

空格:空格不代表表中数据为空,指表中含有数据,数据值为一个空格字符串
orale数据库中 ‘’(空字符串)和NULL(空值)等价

2.日期转换函数

字符型数据和日期型数据的相互转化

1).TO_DATE:将输入的字符串转化为日期
语法:
TO_DATE(字符串,要转化的日期格式)

示例:
查询在1908年12月17号入职的员工信息

SELECT * FROM EMP WHERE HIREDATE ='1980/12/17';--数据类型不一致
SELECT * FROM EMP WHERE HIREDATE =TO_DATE('1980/12/17','YYYY/MM/DD');--转化为日期

SELECT * FROM EMP WHERE HIREDATE =TO_DATE('12/17','MM/DD');--空值
SELECT TO_DATE('12/17','MM/DD') FROM DUAL;--2021/12/17
SELECT TO_DATE('1908/17','YYYY/DD') FROM DUAL;--1908/01/17
SELECT TO_DATE('1992/12','YYYY/MM') FROM DUAL;--1992/12/01

–只要字符串和日期格式匹配,函数运行不会报错,缺少的年月日按照系统默认的方式赋值

2).TO_CHAR:将输入的日期转化为字符串
语法:
TO_CHAR(日期,要转化的字符格式)

示例:
查询在1980年12月17号入职的员工信息

SELECT * FROM EMP WHERE TO_CHAR(HIREDATE,'YYYY/MM/DD')='1980/12/17';  

–使用和TO_DATE类似

3.小结
1).两个函数必须掌握
2).to_date函数对于格式要求比to_char高
3).在编写代码时(条件)一定注意数据类型是否一致

相关标签: sql 数据库