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' )