我想知道是否有可能实现以下功能:在我的数据库表中,我有一个日期时间字段,我想要查询该表,并获取所有发布日期为2011年的行。但是,我的日期发布列是dateTime类型,因此形式如下:
2011-06-12 00:00:00
我该如何查询该表以返回所有2011年的行?
我想知道是否有可能实现以下功能:在我的数据库表中,我有一个日期时间字段,我想要查询该表,并获取所有发布日期为2011年的行。但是,我的日期发布列是dateTime类型,因此形式如下:
2011-06-12 00:00:00
我该如何查询该表以返回所有2011年的行?
datetime
类型一起使用。SELECT * FROM tblName WHERE YEAR(column) = '2011'
尝试使用以下方法:
SELECT *
FROM your_table
WHERE EXTRACT(YEAR FROM datetime_column) = '2011'
如果你想的话,甚至可以对其进行子字符串操作...
SELECT * FROM tblName WHERE substr(column,1,4) = '2011'
您可以按以下方式将您的表连接到它上:
SELECT tblName.*
FROM tblName
INNER JOIN dimDates AS dd
ON tblName.dateField = dd.dd_date
AND dd.dd_date = "2011"
YEAR()
函数接受date
类型的参数,而不是datetime
。或者我错了吗? - hsz