Wil*_*IAM 12 c# sql date sql-server-2008
这就是我迄今为止所拥有的
declare @Today smalldatetime
Set @Today = GETDATE()
select @Today
Run Code Online (Sandbox Code Playgroud)
产额
2011-03-10 13:46:00
Run Code Online (Sandbox Code Playgroud)
我需要的是:
2011-03-09
Run Code Online (Sandbox Code Playgroud)
对于2008,您可以利用新的DATE数据类型:
SELECT CAST(DATEADD(d,-1,GETDATE()) AS DATE) AS Yesterday
Run Code Online (Sandbox Code Playgroud)
适用于所有版本:
SELECT CONVERT(CHAR(10), DATEADD(d,-1,GETDATE()), 120) AS Yesterday
Run Code Online (Sandbox Code Playgroud)
显然,每种方法返回的数据类型都不同.
试试这个:
SELECT REPLACE(CONVERT(VARCHAR, DATEADD(dd, -1, GETDATE()), 102), '.', '-')
Run Code Online (Sandbox Code Playgroud)
GETDATE()
返回当前日期/时间.
DATEADD(dd, -1, GETDATE())
从当前日期/时间减去一天.
CONVERT(VARCHAR, @DATE, 102)
将日期转换为ANSI格式 yyyy.mm.dd
并且REPLACE将根据您的示例用连字符替换预定义格式的句点.