首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

如何指定动态的GETDATE

2012-09-21 
怎么指定动态的GETDATEselect CIFNm,ContractNm,LoanBlankDate,PeriodNm,PeriodMangeCharge as RepayTyp

怎么指定动态的GETDATE
select CIFNm,ContractNm,LoanBlankDate,PeriodNm,'PeriodMangeCharge' as RepayType,PeriodMangeCharge as RepayAmount,
LoanBalance,TotalInterest,RemainInterest,RemainPeriod,IsAdvanceBlack,'0' as bk from InterestList
) AS a 
where convert(varchar(10),LoanBlankDate,120) =convert(varchar(10),GETDATE(),120) and IsAdvanceBlack='False'

我的存储过程中有这么一句话。


convert(varchar(10),GETDATE(),120)

现在,我想在程序里调用存储过程,
但是GETDATE需要时可能是一个变量,比如:2012-8-27-2012-9-12
请问怎么写。

[解决办法]
你是要把getdate替换成某一个日期还是一个日期区间呢?
如果是某一个日期,那么存储过程多接受个参数@Date
语句改成

SQL code
select CIFNm,ContractNm,LoanBlankDate,PeriodNm,'PeriodMangeCharge' as RepayType,PeriodMangeCharge as RepayAmount,LoanBalance,TotalInterest,RemainInterest,RemainPeriod,IsAdvanceBlack,'0' as bk from InterestList) AS a  where convert(varchar(10),LoanBlankDate,120) =convert(varchar(10),@Date,120) and IsAdvanceBlack='False'
[解决办法]
思维不要太跳跃

你想需要可变那就是参数,只是有时不传这个参数的时候用当前时间代替,那就是一个默认NULL的参数,在存储过程处理下参数,如果NULL用GETDATE()代替

SQL code
CREATE PROC PR_TEST (@DT DATETIME = NULL)ASIF @DT IS NULL     SET @DT = GETDATE()...GO 

热点排行
Bad Request.