2014-06-17 5 views
-2

PlanTotal (계획의 수), PlanStartDate (계획의 시작 날짜) 및 PlanInstallment 열의 계획이있는 월간 지불액을 나타내는 테이블이 있습니다. SQL에서 월말을 계산하는 함수

은 무엇 코딩 나는

  1. 하여 계획이 종료됩니다 날짜를 해결해야

    오늘 날짜 이후에 완료 할 예정 얼마나 많은 계획
  2. ?

나는 또한 PlanStartDate 숫자 값이 아닌 datetime에 있음을 감안해야하므로 코드뿐만 아니라이 변환해야합니다.

도움/조언을 부탁드립니다.

+1

당신이 작업하고있는 데이터베이스와 샘플 데이터를 제공하십시오. –

+1

이것은 매우 모호합니다. 당신은 계획이 무엇이되어야 하는지를 우리에게 말하지도 않습니다. 너 뭐 해봤 니? 어떤 특정 문제가 발생합니까? 우리 추측해야합니까? – Frazz

+0

요청하신 내용은 프로그래머 나 DBA에게 알려 주셨습니까? 아마도 그들은 당신을 위해 기술적 인 해결책을 제시 할 수 있습니다. 그들은 아마 당신이 그들에게 당신이 쓰고 싶은 것을 정확하게 더 많이 제공하기를 원할 것입니다. –

답변

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 

그리고 종료 날짜 계산을위한

당신은
DECLARE @PlanInstallment as int 
DECLARE @PlanStartDate AS INT 

SET @PlanInstallment = 4 
SET @PlanStartDate = 20140317 

SELECT @PlanStartDate AS PlanStartDate, 
     DATEADD(MONTH,@PlanInstallment,GETDATE()) AS PlanEndDate 

그래서 그 두 쿼리의 믹스와 함께 당신은 당신이 원하는 무엇이든 할 수 있어야 DATEADD() 있습니다.

관련 문제