我想编写一个选择语句来从我的数据库中查找日期。
在数据库中,我有一个字段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
select * from
yourtable where yourDateColumn < '2012-12-8' and yourDateColumn >= '2012-12-07'
您可以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'
我认为 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%'
这是因为查询只查找没有时间部分的日期。
SELECT SUM(your_value)
FROM your_Table
where value(Date) BETWEEN '2018/04/14' AND '2018/04/14';