我有一个表格,列类型为“timesatmp”,我需要获取两个特定日期之间的数据。
我试着用它不起作用:
if (Session["user"] != null)
{
txtName.Text = Session["user"].ToString();
}
列名的数据类型为“timestamp”,存储值与2015-02-05 19:37:28类似。
答案 0 :(得分:0)
您的查询看起来很好(除了不幸的标识符table_name
和column_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();