新员工入职3个月后 系统制动给员工发信 提示转正入职时间 INTIME 是当时的getdate()
3个月后
要给员工ID发邮件select 员工ID from 表 where "INTIME+3个月" =convert(char(10),getdate(),120)请问 "INTIME的月+3" 这里怎么写
多谢各位

解决方案 »

  1.   

    WHERE 日期=CONVERT(VARCHAR(10),DATEADD(MONTH,-3,GETDATE()),120)
      

  2.   

    select 员工ID from 表 where convert(varchar(10),dateadd(m,3,INTIME),120) >=convert(char(10),getdate(),120) 
      

  3.   

    DATEADD
    在指定日期新增一個時間間隔,並傳回新的 datetime 值。語法
    DATEADD ( datepart , number, date ) 引數
    datepart是指定日期中那一個部份要傳回新值的參數。下表列出了 Microsoft® SQL Server™ 所能辨認的日期部份及縮寫。Datepart 縮寫 
    Year yy, yyyy 
    quarter qq, q 
    Month mm, m 
    dayofyear dy, y 
    Day dd, d 
    Week wk, ww 
    Hour hh 
    minute mi, n 
    second ss, s 
    millisecond 微秒 
    numberdatepart 的遞增值。 如果您指定非整數的值,將截斷該值的小數部份。 例如,如果您指定 datepart為 day 且 number 為1.75,則 date 增加 1。date是一個傳回 datetime 或 smalldatetime 值或日期格式字元字串的運算式
      

  4.   

    SELECT DATEDIFF(mm,'2008-7-08', getdate())
      

  5.   


    SELECT DATEDIFF(dd,INTIME, getdate())=90需要等于90天不然8月31日到值,11月1日你就加工资亏公司了一个月