MySQL超详细常用日期格式转换函数、字符串函数、聚合函数

一、MySQL常用日期格式转换函数

1、查看当前日期时间

​
-- 查看当前日期时间
select NOW() from dual; -- 这里面的dual为虚表,MYSQL也可以不写。 2024-03-07 23:25:10
select SYSDATE(); -- 2024-03-07 23:25:10
select CURRENT_TIMESTAMP(); -- 2024-03-07 23:25:10
select LOCALTIME(); -- 2024-03-07 23:25:10
select LOCALTIMESTAMP(); -- 2024-03-07 23:25:10

注:NOW()与SYSDATE()区别
select NOW(), sleep(1), NOW(); -- 2024-03-07 23:25:10 0 2024-03-07 23:25:10
select SYSDATE(), sleep(1), SYSDATE(); -- 2024-03-07 23:25:11 0 2024-03-07 23:25:12

-- 查看当前日期
select CURDATE(); -- 2024-03-07
select CURRENT_DATE(); -- 2024-03-07

-- 查看当前时间
select CURTIME(); -- 23:25:12
select CURRENT_TIME(); -- 23:25:12

-- 查看当前时间戳
SELECT UNIX_TIMESTAMP(); -- 1709825116

​

2、日期函数

​
select date(NOW()); -- 2024-03-07(获取日期)
select time(NOW()); -- 23:20:09(获取时间) 
select year(NOW()); -- 2024(获取年份) 
select month(NOW()); -- 3(获取月份) 
select day(NOW()); -- 7(获取日) 
select hour(NOW()); -- 23(获取时) 
select minute(NOW()); -- 20(获取分) 
select second(NOW()); -- 9(获取秒)
select quarter(NOW()); -- 1(获取季度)
select week(NOW()); -- 9(获取周) 
select weekofyear(NOW()); -- 10(日期在年度中第几周) 
select dayofyear(NOW()); -- 67(日期在年度中第几天) 
select dayofmonth(NOW()); -- 7(日期在月度中第几天)
select dayofweek(NOW()); -- 5(日期在周中第几天1-7,周日为第1天) 
select weekday(NOW()); -- 3(日期在本周的星期几0-6,0为星期一)
select yearweek(NOW()); -- 202409(年和周)
select dayname(CURRENT_TIMESTAMP); -- Thursday(英文星期)
select monthname(CURRENT_TIMESTAMP); -- March(英文月份)
select last_day(CURRENT_TIMESTAMP); -- 2024-03-31(月份中最后一天)

3、日期格式转换

​
select DATE_FORMAT(NOW(),
MySQL中,可以使用两种方法将字符串转换日期。第一种方法是使用自动转换,当使用日期格式字符串日期类型的列进行比较时,MySQL会自动将字符串转换日期进行比较。例如,可以使用以下查询将字符串转换日期: SELECT * FROM table_name WHERE date_column > '2020-01-01' 在这个示例中,字符串'2020-01-01'会自动转换日期类型进行比较。 另一种方法是使用DATE_FORMAT函数,它允许您将日期转换为指定的字符串格式。例如,可以使用以下查询将日期转换字符串: SELECT DATE_FORMAT(date_column, '%Y-%m-%d') FROM table_name 在这个示例中,DATE_FORMAT函数日期转换字符串,格式为YYYY-MM-DD。 还有一种情况是,当我们从用户界面接收到的信息都是以字符串的形式进行传递时,我们可以使用STR_TO_DATE函数字符串转换日期类型进行存储。例如,可以使用以下查询将字符串转换日期: INSERT INTO table_name (date_column) VALUES (STR_TO_DATE('2020-01-01', '%Y-%m-%d')) 在这个示例中,STR_TO_DATE函数字符串'2020-01-01'转换日期类型,并将其插入到日期列中。 因此,在MySQL中,可以使用自动转换、DATE_FORMAT函数或STR_TO_DATE函数字符串转换日期。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [mysql字符串和时间互相转换的方法(自动转换及DATE_FORMAT函数)](https://blog.youkuaiyun.com/harryho/article/details/77978424)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [MySQL字符串使用 STR_TO_DATE() 函数](https://blog.youkuaiyun.com/qq_62701769/article/details/124654240)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值