我在mySQL DB中有一个用datetime设置的表.
我只需要DATETIME在DATE这个表中排除时间.
如何SELECT在此表中仅按日期并绕过时间,即使该特定列设置为SELECT?
例:
现在它是: DATETIME
我只需为此做一2012-01-23 09:24:41件事SELECT
小智 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)
我尝试过做一个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相同,则不会进行夏令时.
只需您即可
SELECT DATE(date_field) AS date_field FROM table_name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
225153 次 |
| 最近记录: |