Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSSQL查询以获取介于1个月和固定日期之间的值_Sql_Sql Server_Date_Datetime - Fatal编程技术网

MSSQL查询以获取介于1个月和固定日期之间的值

MSSQL查询以获取介于1个月和固定日期之间的值,sql,sql-server,date,datetime,Sql,Sql Server,Date,Datetime,我还没能做到 这就是想法: select sum(amount) from account where amountdate >= 'CURRENTSYSTEMYEAR/CURRENTSYSTEMMONTH/10' and amountdate <= 'CURRENTSYSTEMYEAR(+1 if it's december) / CURRENTSYSTEMMONTH + 1/10' 选择总和(金额) 从帐户 其中amountdate>='CURRENTSYSTEM

我还没能做到

这就是想法:

select sum(amount) 
from  account
where amountdate >= 'CURRENTSYSTEMYEAR/CURRENTSYSTEMMONTH/10'  
   and amountdate <= 'CURRENTSYSTEMYEAR(+1 if it's december) / CURRENTSYSTEMMONTH + 1/10'
选择总和(金额)
从帐户
其中amountdate>='CURRENTSYSTEMYEAR/CURRENTSYSTEMMONTH/10'

和amountdate您可以转换为字符串并返回到日期:

select sum(amount)
from account
where amountdate >= convert(datetime, convert(varchar(8), getdate(), 120) + '10')
    and amountdate <= dateadd(month, 1, convert(datetime, convert(varchar(8), getdate(), 120) + '10'))
选择总和(金额)
从帐户
其中amountdate>=将年(GETDATE())转换为字符(4))+'/'+将月(GETDATE())转换为字符(2))+'/10'

amountdate您使用的数据库是什么?那么对于今天的2014-03-15,您要查找的日期范围是什么?我不能完全理解你的问题。是从2014-03-10到2014-04-10吗?@user2989408。正如我所说的mssql,MicrosoftSQLServer。杰森。是的,这是正确的,但我想每月得到它,所以我总是每月获取数据。
select convert(datetime, convert(varchar(8), getdate(), 120) + '10')
-- 2014-03-10 today (2014-03-05)

select dateadd(month, 1, convert(datetime, convert(varchar(8), getdate(), 120) + '10'))
-- 2014-04-10 today (2014-03-05)
SELECT SUM(amount) 
FROM  account
WHERE amountdate >= CAST(YEAR(GETDATE()) AS CHAR(4))+'/'+CAST(MONTH(GETDATE()) AS CHAR(2))+'/10' 
   and amountdate <= DATEADD(MM,1, CAST(YEAR(GETDATE()) AS CHAR(4))+'/'+CAST(MONTH(GETDATE()) AS CHAR(2))+'/10' )