阅读之前看这里👉:博主是正在学习数据分析的一员,博客记录的是在学习过程中一些总结,也希望和大家一起进步,在记录之时,未免存在很多疏漏和不全,如有问题,还请私聊博主指正。
博客地址:天阑之蓝的博客,学习过程中不免有困难和迷茫,希望大家都能在这学习的过程中肯定自己,超越自己,最终创造自己。
数据分析之——MySQL数据库之DATE日期函数
当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配。
只要数据包含的只是日期部分,运行查询就不会出问题。但是,如果涉及时间,情况就有点复杂了。
在讨论日期查询的复杂性之前,我们先来看看最重要的内建日期处理函数。
返回当前时间和日期
NOW():返回当前的日期和时间
CURDATE():返回当前的日期
CURTIME():返回当前的时间
SELECT
NOW() 当前日期和时间,
CURDATE() 当前日期,
CURTIME() 当前时间
下面的 SQL 创建带有日期时间列 (OrderDate) 的 “Orders” 表:
CREATE TABLE Orders
(
OrderId int not null,
ProductName varchar(40) not null,
OrderDate datetime Not NULL DEFAULT NOW(),
Primary key (OrderId)
)
DEFAULT 修饰符:可以使用 DEFAULT 修饰符为字段设定一个默认值。
当插入记录时,若忘记传该字段的值时,MySQL 会自动为您设置上该字段的默认值。
如果一个字段中没有指定 DEFAULT 修饰符,MySQL 会依据这个字段是 NULL 还是 NOT NULL 自动设置默认值。
如果指定字段可以为 NULL,则 MySQL 为其设置默认值为 NULL。
如果是 NOT NULL 字段,MySQL 对于数值类型插入 0,字符串类型插入空字符串,
时间戳类型插入当前日期和时间,ENUM 类型插入枚举组的第一条
所以:
OrderDate 列规定 NOW() 作为默认值。作为结果,当您向表中插入行时,当前日期和时间自动插入列中。
现在,我们希望在 “Orders” 表中插入一条新记录:
INSERT INTO Orders (OrderId