@[TOC]
一.varchar和char区别
1、长度是否可变
varchar 类型的长度是可变的,而 char 类型的长度是固定的
char 类型是一个定长的字段,以 char(10) 为例,不管真实的存储内容多大或者是占了多少空间,都会消耗掉 10 个字符的空间
坦通俗来讲,当定义为 char(10) 时,即使插入的内容是 'abc'
3 个字符,它依然会占用 10 个字节,其中包含了 7 个空字节
2、存储长度
char 长度最大为 255 个字符,varchar 长度最大为 65535 个字符
3、检索效率方面
varchar 类型的查找效率比较低,而 char 类型的查找效率比较高
二.datetime和timestamp区别
1.时间区间
datetime
支持时间区间 1000-01-01 00:00:00
到9999-12-31 23:59:59
,timestamp
只支持'1970-01-01 00:00:01' UTC
到'2038-01-19 03:14:07' UTC
2、存储方式
datetime
直接保存不需要转换,timestamp
会转变为UTC时间保存在数据库,当select的时候再转变为当前时区的时间
3、存储null
存进去的是NULL,timestamp会自动储存当前时间,而 datetime会储存NULL
三.LocalDateTime的withNano方法
LocalDateTime nano = now.with(LocalTime.MAX).withNano(0);
顾得!