文档:MySQL :: MySQL 5.7 Reference Manual :: 12.7 Date and Time Functions
以下为案例,更多内容可查看文档
返回当前日期: CURDATE()
返回当前时间: CURTIME()
返回当前日期和时间: NOW()
返回年份: YEAR()
-- 返回当前日期
select curdate();-- 返回当前时间
select curtime();-- 返回当前日期和时间
select now();-- 返回年份
select year();
返回参数的工作日索引:DAYOFWEEK()
返回月份中的第几天 (0-31):DAYOFMONTH()
返回一年中的第几天 (1-366):DAYOFYEAR()
返回工作日名称:DAYNAME()
返回月份名称:MONTHNAME()
-- 创建表
create table test_time (a year, b date, c time, d datetime, e timestamp);-- 查看表结构
desc test_time;-- 插入数据
insert into test_time (a,b,c,d,e) values ('2023', '2023-08-29', '17:31:30', '2023-08-29 17:31:30', '2023-08-29 17:31:30');-- 查看b字段内容是一周中的第几天select dayoweek();-- 查看b字段内容是月份中的第几天select dayofmonth(b) from test_time;-- 查看b字段是一年中的第几天
select dayofyear(b) from test_time;-- 返回工作日名称(周几)
select DAYNAME(b) from test_time;-- 返回月份名称
select MONTHNAME(b) from test_time;
-- FORMAT转换:
-- 创建表
CREATE TABLE IF NOT EXISTS employee(id INT NOT NULL AUTO_INCREMENT,first_name VARCHAR(100) NOT NULL,last_name VARCHAR(100) NOT NULL,title VARCHAR(100) DEFAULT NULL,salary DOUBLE DEFAULT NULL,hire_date DATE NOT NULL,notes TEXT,PRIMARY KEY (id)
);-- 插入数据
INSERT INTO employee (first_name, last_name, title, salary, hire_date) VALUES ('Robin', 'Jackman', 'Software Engineer', 5500, '2001-10-12'),('Taylor', 'Edward', 'Software Architect', 7200, '2002-09-21'),('Vivian', 'Dickens', 'Database Administrator', 6000, '2012-08-29'),('Harry', 'Clifford', 'Database Administrator', 6800, '2015-12-10'),('Eliza', 'Clifford', 'Software Engineer', 4750, '1998-10-19'),('Nancy', 'Newman', 'Software Engineer', 5100, '2007-01-23'),('Melinda', 'Clifford', 'Project Manager', 8500, '2013-10-29'),('Jack', 'Chan', 'Test Engineer', 6500, '2018-09-07'),('Harley', 'Gilbert', 'Software Architect', 8000, '2000-07-17');-- date_format转换
SELECT CONCAT_WS(' ',first_name,'',last_name,'was hired on',DATE_FORMAT(hire_date,'%D %M %Y')) AS 'title' FROM employee;SELECT CONCAT(first_name ,' ', last_name ,'was hired on',DATE_FORMAT(hire_date,'%D %M %Y')) AS title FROM employee;