在sql中计算月末的函数

时间:2014-06-17 12:36:59

标签: sql

我的表格中有PlanTotal(计划的数量),PlanStartDate(计划的开始日期)和PlanInstallment列,告诉我该计划已经支付了多少月付款。

我需要编码什么编码

  1. 计划结束的日期和

  2. 在今天的约会之后有多少计划要完成?

  3. 我还需要考虑PlanStartDate的数值不是datetime,因此需要在代码中进行转换。

    任何帮助/建议表示赞赏!

1 个答案:

答案 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

因此,通过混合使用这两个查询,您应该可以执行任何操作。