设置静态日和上个月GETDATE()SQL

Kie*_*ith 0 sql sql-server sql-server-2008

以下SQL语句设置特定列的日期:

DATEDUE=convert(varchar,GETDATE(),103 )
Run Code Online (Sandbox Code Playgroud)

但是,它设置了当前日期,例如05/08/2015.我想做的是将它设置为相同的dd/mm/yyyy格式,但将日期设置为15日,将月份设置为上个月,因此05/08/2015应该是15/07/2015.

M.A*_*Ali 5

select CONVERT(VARCHAR(10),
              DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0) + 14
              ,103)

 Result: 15/07/2015
Run Code Online (Sandbox Code Playgroud)

重要的提示

由于DATEDUE列存储日期,因此您应该使用sql server DATE数据类型在该列中存储日期值.