datetime mySQL只selectdate

我有一个在date时间设置MySQL数据库中的表。

我只需要在DATE中SELECT此表,并排除时间。

即使特定的列被设置为datetime如何仅以dateselect并绕过时间?

例:

现在是: 2012-01-23 09:24:41

我只需要为2012-01-23做一个SELECT

12 Solutions collect form web for “datetime mySQL只selectdate”

select date(ColumnName) from tablename

更多关于MySQLdate()

你可以使用date_format

  select DATE_FORMAT(date,'%y-%m-%d') from tablename 

您只能使用select DATE(time) from appointment_details作为date

要么

您只能使用select TIME(time) from appointment_details的时间

在MYSQL中,我们有称为DATE_FORMAT(date,格式)的函数。 在你的情况下,你的select语句将变成这样:

SELECT DATE_FORMAT(dateTimeFieldName,"%a%m%Y")作为dateFieldName FROM table_name

有关Mysql DATE和TIME函数的更多信息。 点击这里

尝试使用
今天:

 SELECT * FROM `tbl_name` where DATE(column_name) = CURDATE() 

选定date:

 SELECT * FROM `tbl_name` where DATE(column_name) = DATE('2016-01-14') 

我试着做一个SELECT DATE(ColumnName) ,但是这不适用于TIMESTAMP†,因为它们是以UTC格式存储的,并且使用了UTCdate而不是转换为本地date。 我需要select在我的时区特定date的行,所以我把这个问题 的答案与Balaswamy Vaddeman对这个问题的答案结合起来,这就是我所做的:

如果您将date存储为DATETIME

只要做SELECT DATE(ColumnName)

如果您将date存储为TIMESTAMP

如果您还没有这样做,请将时区数据加载到MySQL中 。 对于Windows服务器,请参阅上一个链接。 对于Linux,FreeBSD,Solaris和OS X服务器,您应该这样做:

 mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql 

然后像这样格式化你的查询:

 SELECT DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York')) 

你也可以把这个放在查询的WHERE部分中(但注意那个列上的索引不起作用):

 SELECT * FROM tableName WHERE DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York')) >= '2015-02-04' 

(显然可以用America/New_York代替当地的时区。)


唯一的例外情况是,如果您的本地时区是GMT,而且由于您的本地时间与UTC相同,您不需要执行夏令时。

只要你能做到

 SELECT DATE(date_field) AS date_field FROM table_name 
 Select * from table_name where date(datetime) 

使用DATE_FORMAT

 select DATE_FORMAT(date,'%d') from tablename =>Date only 

例:

 select DATE_FORMAT(`date_column`,'%d') from `database_name`.`table_name`; 
 SELECT DATE_FORMAT(NOW() - INTERVAL FLOOR(RAND() * 14) DAY,'%Y-%m-%d'); 

这个可以用来以'yyyy-mm-dd'的格式得到date。

尝试SELECT * FROM Profiles WHERE date(DateReg)=$date其中$ date是yyyy-mm-dd

另外SELECT * FROM Profiles WHERE left(DateReg,10)=$date

干杯

为了实际解决这个问题:

 SELECT ... WHERE `myDateColumn` >= DATE(DATE_FORMAT(NOW(),'%Y-%m-%d')); 

显然,你可以将NOW()函数改成你想要的任何date或variables。

  • MySQL中的DOUBLE和DECIMAL
  • 如何去通过mysql结果两次?
  • 如何检查MySQL中的表字段上是否存在索引?
  • MySQL WHERE:如何写“!=”或“不等于”?
  • 如何在Laravel中使用多个数据库
  • select一个独立的全文search服务器:Sphinx或SOLR?
  • 允许从任何IP地址远程访问MySQL数据库
  • 错误代码:1005.无法创build表'...'(errno:150)
  • convert_tz返回null
  • 为什么数据库行元组中的整数有一个'L'后缀?
  • MySQL - 用LIMIT更新查询