我的sql查询来获取两个特定日期之间的数据

时间:2015-06-18 04:42:21

标签: mysql

我有一个表格,列类型为“timesatmp”,我需要获取两个特定日期之间的数据。

我试着用它不起作用:

if (Session["user"] != null)
    {
        txtName.Text = Session["user"].ToString();
    }

列名的数据类型为“timestamp”,存储值与2015-02-05 19:37:28类似。

3 个答案:

答案 0 :(得分:0)

您的查询看起来很好(除了不幸的标识符table_namecolumn_name

作为示范:

创建并填充表格:

 CREATE TABLE table_name (column_name TIMESTAMP DEFAULT CURRENT_TIMESTAMP);

 INSERT INTO table_name (column_name) VALUES 
  ('2015-02-05 19:37:28')
 ,('2015-06-01 00:00:00')
 ,('2015-06-02 02:02:02')

查询:

 SELECT * 
   FROM table_name 
  WHERE column_name >= "2015-06-01 00:00:00" 
    AND column_name <= NOW();

返回:

          column_name  
  -------------------
  2015-06-01 00:00:00
  2015-06-02 02:02:02

正如我在你的问题评论中所说:

&#34;它没有工作&#34;是一个非常模糊的描述你正在观察的行为。是否返回错误消息?没有返回行?返回的行太多了?

答案 1 :(得分:-1)

   select * from table_name where date(column_name) >= 'your_date' AND date(column_name) = now()

这可能会对您的问题有所帮助

答案 2 :(得分:-1)

您想要选择两个特定日期之间的数据,然后使用两个特定日期值而不是now()函数:

select * from table_name where column_name>= "2015-06-01 00:00:00" and column_name<= "2015-06-10 23:23:23";

OR

select * from table_name where column_name between "2015-06-01 00:00:00" and  "2015-06-10 23:23:23";

如果您想从任何特定日期选择数据到现在为止,请按原样使用您的查询:

select * from table_name where column_name>= "2015-06-01 00:00:00" and column_name<= now();

OR

select * from table_name where column_name btween "2015-06-01 00:00:00" and  now();