0

我知道如何在 MS-SQL-Server 中检索上个月的最后一天

SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))

这给了我结果

2013-03-31 23:59:59.000

现在我需要更改这种格式,以便像这样接收它

mm/dd/yy

有什么建议么?

谢谢

4

3 回答 3

2

如果您使用的是 SQL 服务器,请尝试此操作

SELECT CONVERT(varchar, DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)),101)

或者

SELECT CONVERT(varchar, DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0)),1)
于 2013-04-30T08:56:08.747 回答
2

试试这个——

DECLARE @Date DATETIME
SELECT @Date = GETDATE()

SELECT CONVERT(VARCHAR(10), DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date) + 1, 0) - 1, 101)

输出:

04/30/2013
于 2013-04-30T08:57:19.617 回答
0
-- Set date format to day/month/year.
SET DATEFORMAT dmy;
GO
DECLARE @datevar datetime2 = '31/12/2008 09:01:01.1234567';
SELECT @datevar;
GO
-- Result: 2008-12-31 09:01:01.123
SET DATEFORMAT dmy;
GO
DECLARE @datevar datetime2 = '12/31/2008 09:01:01.1234567';
SELECT @datevar;
GO
-- Result: Msg 241: Conversion failed when converting date and/or time -- from character string.

GO
于 2013-04-30T08:57:03.127 回答