-4

SQL でこの if ステートメントを作成しようとしていますが、これは可能でしょうか?

IF start2 >= start1 AND start2 <= end1, 
    group_start=start1 (ELSE start2)

THEN IF end2 >=end1,
    group_end=end2 (ELSE end1)
4

2 に答える 2

4

何をしようとしているのかは明確ではありませんが、通常はこれに CASE ステートメントを使用します。以下のコードを試して、これが目的かどうかを確認してください。

select case when start2 >= start1 
             and start2 <= end1 then start1 
                                else start2 
        end as group_start
      ,case when end2 >= end1 then end2 
                              else end1
        end as group_end
  from ...
于 2013-05-14T19:53:23.813 に答える
1

それがうまくいくことを願っています: よろしければ、答えとしてマークすることを忘れないでください

declare @startDate date;
declare @workingDays int;

set @startDate=GETDATE();
set @workingDays=9;


if ((DATEPART(DAY,@startDate)=15 ) AND (@workingDays=5))
    print('asif')
    else if ((DATEPART(DAY,@startDate)=15 ) AND (@workingDays=9))
    print('mahamud')
    else if ((@workingDays>5)) 
    print('nop')
    else
    print ('99')
于 2013-05-15T06:17:42.227 に答える