从数据库表中获取特定日期

时间:2011-11-26 13:40:30

标签: mysql sql database

我有一个数据库表

每次用户解决问题时,我的代码都会在这里插入一行。

CREATE TABLE `u_s_q` (
  `ID` int(8) NOT NULL auto_increment,
  `userid` int(6) NOT NULL,
  `questionid` int(6) NOT NULL,
  `time` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  (`ID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

-- 
-- Dumping data for table `u_s_q`
-- 

INSERT INTO `u_s_q` VALUES (1, 1, 2, '2011-11-26 14:02:14');
INSERT INTO `u_s_q` VALUES (2, 1, 5, '2011-11-26 14:24:32');
像这样。

我试图在11月份看到问题ID是id =“1”的用户。

我不知道如何编写那个SQL语句

我该怎么写?

2 个答案:

答案 0 :(得分:1)

使用MONTH(time)返回月份编号,并查询11(11月)

SELECT questionid FROM u_s_q 
WHERE
  userid = 1
  AND MONTH(`time`) = 11

或者,使用MONTHNAME()获取实际的单词“November”,或者在您的语言环境中调用的任何内容

SELECT questionid FROM u_s_q 
WHERE
  userid = 1
  AND MONTHNAME(`time`) = 'November'

答案 1 :(得分:0)

尝试使用月份功能:

SELECT questionid
FROM u_s_q
WHERE userid = 1 AND month(time) = 11;