SELECT CONVERT(CHAR(6),DATEADD(month,-1,CONVERT(DATETIME,:ls_yyyymm
,112)),112) + '16' ;
into :ls_start_dt
;

SELECT DATEPART(dw,(CONVERT(DATETIME, :ls_start_dt,112)))
into :li_start
;

SELECT DATEDIFF(day, CONVERT(DATETIME,:ls_start_dt ,112),
CONVERT(DATETIME,:ls_last_dt ,112))
into :li_between
;

SELECT CONVERT(CHAR(8),DATEADD(day,-1,CONVERT(DATETIME,:ls_start_dt
,112)),112),
  CASE WHEN DATEPART(dw,(DATEADD(day,-1,CONVERT(DATETIME,:ls_start_dt
,112))))  = 1 OR
      DATEPART(dw,(DATEADD(day,-1,CONVERT(DATETIME,:ls_start_dt ,112))))  =
7
   THEN 'P' ELSE 'K' END,
  CASE WHEN DATEPART(dw,(DATEADD(day,-1,CONVERT(DATETIME,:ls_start_dt
,112))))  = 1 OR
      DATEPART(dw,(DATEADD(day,-1,CONVERT(DATETIME,:ls_start_dt ,112))))  =
7
   THEN '0' ELSE '8' END
into :ls_day , :ls_day_type , :ls_wk_hour
;

2007/5/2, mellon <[EMAIL PROTECTED]>:

  dear seniors

Mohon advisenya bagaimana menulis syntax ini memakai sql server didlm
powerbuilder?

// Start Date
select to_char( add_months( to_date( :ls_yyyymm , 'yyyymm' ) , -1 ) ,
'yyyymm' ) || '16'
into :ls_start_dt
from dual ;

// Start Day Number
select to_number( to_char( to_date( :ls_start_dt , 'yyyymmdd' ) , 'd' ) )
into :li_start
from dual;

// Between Day
select to_date( :ls_last_dt , 'yyyymmdd' ) - to_date( :ls_start_dt ,
'yyyymmdd' ) + 1
into :li_between
from dual ;

select to_char( to_date( :ls_start_dt , 'yyyymmdd' ) + :jnx - 1 ,
'yyyymmdd' ) ,
decode( to_char( to_date( :ls_start_dt , 'yyyymmdd' ) + :jnx - 1 , 'd' ) ,
'1' , 'P' ,'7','P', 'K' ) ,
decode( to_char( to_date( :ls_start_dt , 'yyyymmdd' ) + :jnx - 1 , 'd' ) ,
'1' , '0' ,
'7' , '0' , '8' )
into :ls_day , :ls_day_type , :ls_wk_hour
from dual ;

thanks sebelumnya



Kirim email ke