提问人:abarax 提问时间:11/6/2008 更新时间:7/26/2019 访问量:124324
Mysql 从 datetime 剥离时间组件
Mysql strip time component from datetime
问:
我需要在不考虑时间成分的情况下在 Mysql 中进行日期比较,即我需要将“2008-11-05 14:30:00”转换为“2008-11-05”
目前我正在这样做:
SELECT from_days(to_days(my_date))
有没有合适的方法?
答:
200赞
Robert Gamble
11/6/2008
#1
是的,使用日期函数:
SELECT date(my_date)
评论
0赞
Joshua Pinter
12/10/2021
就是这个。谢谢。由于某种原因,在答案列表中排在最后。
3赞
Andy Lester
11/6/2008
#2
在 PostgreSQL 中,您使用 TRUNC() 函数,但我在 MySQL 中没有看到它。从我简短的谷歌搜索来看,看起来你需要将 DATETIME 值转换为 DATE。
date_col = CAST(NOW() AS DATE)
查看 http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html
评论
1赞
5/7/2013
date_trunc()
(not ) 实际上不会删除 Postgres 中的时间部分。它只会将其设置为不同的东西。trunc()
00:00:00
24赞
11/6/2008
#3
select date(somedate)
是最常见的。
如果需要适应其他格式,可以使用:
SELECT DATE_FORMAT(your_date, '%Y-%m-%d');
评论
2赞
Mario Awad
9/20/2012
例如,该DATE_FORMAT对于仅提取年份部分非常有用。谢谢。
-5赞
PlayHardGoPro
9/26/2012
#4
你可以使用ToShortDateString();
评论
0赞
andrewsi
9/26/2012
这不是 C# 函数吗?问题是在MySQL解决方案之后
0赞
Nizar B.
12/4/2014
它是 C#,实际上它不会删除时间戳:将当前 DateTime 对象的值转换为其等效的短日期字符串表示形式。
0赞
Rajeev Kumar
5/7/2013
#5
只是一个简单的方法,从你的查询中做到这一点date("d F Y",strtotime($row['date']))
$row['date']
评论