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服务器错误111
  • MySQL从date格式中提取年份
  • MYSQL更新语句内部连接表
  • SQLite插入 - 在重复密钥更新
  • 如何改变列并更改默认值?
  • 在SQL列中查找最常用的值
  • SQL中的UNION之后的WHERE语句?
  • 在通过Brew安装MySQL后,出现错误 - 服务器退出而不更新PID文件
  • AWS RDS实例升级停机时间
  • 在MySQL中生成一个整数序列
  • Mysql:从表中select不在另一个表中的行