我的表格中有PlanTotal
(计划的数量),PlanStartDate
(计划的开始日期)和PlanInstallment
列,告诉我该计划已经支付了多少月付款。
我需要编码什么编码
计划结束的日期和
在今天的约会之后有多少计划要完成?
我还需要考虑PlanStartDate
的数值不是datetime
,因此需要在代码中进行转换。
任何帮助/建议表示赞赏!
答案 0 :(得分:0)
以下是格式化日期的方法。我把GetDate()作为例子。
DECLARE @NumericDate AS INT
SET @NumericDate = CAST(CONVERT(CHAR(10),GETDATE(),112) AS INT)
SELECT GETDATE() Today,
CONVERT(INT,GETDATE(),112) DateInt,
CAST(CONVERT(CHAR(10),GETDATE(),112) AS INT) DateNumeric,
YEAR(GETDATE())*10000 + MONTH(GETDATE())*100 + DAY(GETDATE()) AS DateNumeric_V2,
CONVERT(CHAR(10),GETDATE(),121) DateChar,
DATEADD(day,DAY(GETDATE())*-1,DATEADD(MONTH,1,GETDATE())) AS LastDayOfCurrentMonth,
SUBSTRING(CAST(@NumericDate AS CHAR(8)),1,4)
+ '-' + SUBSTRING(CAST(@NumericDate AS CHAR(8)),5,2)
+ '-' + SUBSTRING(CAST(@NumericDate AS CHAR(8)),7,2) AS NumericDate_2_String
对于结束日期计算,你有DATEADD()
DECLARE @PlanInstallment as int
DECLARE @PlanStartDate AS INT
SET @PlanInstallment = 4
SET @PlanStartDate = 20140317
SELECT @PlanStartDate AS PlanStartDate,
DATEADD(MONTH,@PlanInstallment,GETDATE()) AS PlanEndDate
因此,通过混合使用这两个查询,您应该可以执行任何操作。