037 - 有关时间和日期的函数方法

  文档: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;

你可能感兴趣的:(数据库,数据库)