如何从MySQL中的日期时间字段中仅选择日期

Die*_*oP. 103 mysql date

我在mySQL DB中有一个用datetime设置的表.

我只需要DATETIME在DATE这个表中排除时间.

如何SELECT在此表中仅按日期并绕过时间,即使该特定列设置为SELECT

例:

现在它是: DATETIME

我只需为此做一2012-01-23 09:24:41件事SELECT

Bal*_*man 142

SELECT DATE(ColumnName) FROM tablename;

更多关于mysql的日期()

  • 日期(datereg)= 'dateHere' (2认同)

小智 32

你可以使用date_format

select DATE_FORMAT(date,'%y-%m-%d') from tablename
Run Code Online (Sandbox Code Playgroud)


小智 14

您只能使用select DATE(time) from appointment_details日期

要么

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


小智 10


今天尝试使用:

SELECT * FROM `tbl_name` where DATE(column_name) = CURDATE()
Run Code Online (Sandbox Code Playgroud)


选定日期:

SELECT * FROM `tbl_name` where DATE(column_name) = DATE('2016-01-14')
Run Code Online (Sandbox Code Playgroud)


San*_* D. 10

在MYSQL中,我们有一个名为DATE_FORMAT(date,format)的函数.在您的情况下,您的select语句将如下所示: -

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

有关Mysql DATE和TIME函数的更多信息,请单击此处.


小智 9

请尝试这个答案。

SELECT * FROM `Yourtable` WHERE date(`dateField`) = '2018-09-25'
Run Code Online (Sandbox Code Playgroud)


Mik*_*ike 6

我尝试过做一个SELECT DATE(ColumnName),但这对列不起作用,因为它们以UTC格式存储,使用UTC日期而不是转换为本地日期.我需要选择在我的时区中特定日期的行,所以将我对这个问题的答案Balaswamy Vaddeman对这个问题的回答结合起来,这就是我所做的:TIMESTAMP

如果您将日期存储为 DATETIME

做就是了 SELECT DATE(ColumnName)

如果您将日期存储为 TIMESTAMP

如果尚未将时区数据加载到MySQL中,请将其加载到MySQL中.对于Windows服务器,请参阅上一个链接.对于Linux,FreeBSD,Solaris和OS X服务器,您可以:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Run Code Online (Sandbox Code Playgroud)

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

SELECT DATE(CONVERT_TZ(`ColumnName`, 'UTC', 'America/New_York'))
Run Code Online (Sandbox Code Playgroud)

您也可以将此放在WHERE查询的一部分中(但请注意该列上的索引不起作用):

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

(显然可以替换America/New_York当地时区.)


唯一的例外是,如果您当地的时区是GMT,并且由于您的当地时间与UTC相同,则不会进行夏令时.


kri*_*kim 5

只需您即可

SELECT DATE(date_field) AS date_field FROM table_name
Run Code Online (Sandbox Code Playgroud)