9

我想编写一个选择语句来从我的数据库中查找日期。

在数据库中,我有一个字段action_date作为日期类型,日期如下:7/12/2012 17:21:33。如何获取指定日期之后的所有数据?

所以如果我有这样的数据库:

7/12/2012 17:21:33
7/12/2012 15:21:35
8/12/2012 8:25:35
9/12/2014 8:25:35

我只想得到这些行:

7/12/2012 17:21:33
7/12/2012 15:21:35
4

4 回答 4

8
select * from
yourtable where yourDateColumn < '2012-12-8' and yourDateColumn >= '2012-12-07'
于 2012-08-03T14:54:15.020 回答
3

您可以BETWEEN用来比较日期:

select *
from yourTable
where yourDate between '2012-07-12' and '2012-08-12'

或者,如果您正在寻找一个特别是您可以使用的日期。您可以将 '2012-07-12' 更改为可以传入的参数,以便获得任何日期:

select *
from yourTable
where Cast(datediff(day, 0, yourDate) as datetime) = '2012-07-12'
于 2012-08-03T15:21:49.647 回答
3

我认为 Julius 是在问如何只获取 7/12/2012 17:21:33 的行

因此,我可以为您提供一种被证明是正确的解决方案:

1) 在 T-SQL Convert function 中查看T-SQL Convert function

2)当您查看转换代码时,请注意

转换代码

图片来源:http ://technet.microsoft.com/en-us/library/ms187928.aspx

现在,当我对这里的理论感到恼火时,这里的代码是:

对于欧洲

select * from table_name
where convert(varchar, column_that_has_date_in, 104) = '12.07.2012'

为了我们

select * from table_name
where convert(varchar, column_that_has_date_in, 101) = '07/12/2012'

值得一提的另一件事是,为什么当我们输入 sql 语句时,我们得到 0 行:

select * from table_name
where column_that_has_date_in like '%07/12/2012%'

这是因为查询只查找没有时间部分的日期。

于 2013-08-09T11:58:24.437 回答
-3
SELECT SUM(your_value)  
FROM your_Table 
where value(Date) BETWEEN '2018/04/14' AND '2018/04/14';
于 2018-04-14T17:48:57.387 回答