2つのSQLアルゴリズムの時間差をどのように多くの日付を計算します

1  / * *****オブジェクト:のStoredProcedure [DBO] [GetDateDiff]スクリプト日:。2019年11月12日夜04時14分05秒***** * / 
2  SET ANSI_NULLS ONを
3。 GO 
4。 SET QUOTED_IDENTIFIER ON 
5。 GO 
6  - どのように多くのSQLアルゴリズム新生児の年齢を計算するために、両者の間の時間差の日付を計算するために
7  ALTER  PROCEDURE  [ DBO ][ GetDateDiff ] 
8      @fromDate  NVARCHAR10)、- 開始日
9      @toDate  NVARCHAR10-结束日期
10  AS  
11      DECLARE  @YearDiff  INTEGER 
12      DECLARE  @MonthDiff  INTEGER 
13      DECLARE  @DayDiff  INTEGER 
14      DECLARE  @ToMonth  INTEGER 
15      DECLARE  @FromDay  INTEGER 
16      DECLARE  @Today  INTEGER 
17  
18  
19      SET  @YearDiff  =  LTRIMDATEDIFF(YY、@fromDate@toDate ))
 20      SET  @MonthDiff  =  LTRIMDATEDIFF(MM、@fromDate@toDate 12 21      SET  @ToMonth  =  MONTHCAST@toDate  AS  DATETIME ))
 22      SET  @FromDay  =  DAYCAST@fromDate  AS  DATETIME ))
 23      SET  @Today  =  DAYCAST@ToDate  AS  DATETIME ))
 24      IF@Today  -  @FromDay<  0  
25は、         BEGIN 
26              IF@ToMonth  -  1=  1 
27                  OR@ToMonth  -  1=  3 
28                  OR@ToMonth  -  1=  5 
29                  OR@ToMonth  -  1=  7 
30                  OR@ToMonth  -  1=  8 
31                  OR@ToMonthは - 1=  10 
32                  OR@ToMonth  -  1=  12  
33                  BEGIN 
34                      SET  @DayDiff  =  31  +  @Today  -  @FromDay 
35                      SET  @MonthDiff  =  @MonthDiff  -  1 
36                  END     
37              ELSE  
38は、                 BEGIN 
39                      SET  @DayDiff  =  30  +を @Today  -  @FromDay 
40                      SET  @MonthDiff  =  @MonthDiff  - 1つの
41                  END 
42          END 
43      ELSE  
44は         BEGIN 
45              SET  @DayDiff  =  @Today  -  @FromDay 
46          END 
47          
48      SELECT   CAST@YearDiff  AS  NVARCHAR10))+  ' ' 
49              +  CAST@MonthDiff  AS  NVARCHAR10))+  ' 个月' 
50              +  CAST@DayDiff  AS NVARCHAR10))+  ' デイ'         
51   

 

おすすめ

転載: www.cnblogs.com/AlbertSmith/p/11896723.html