2014-09-23 2 views
0

Я пытаюсь отобразить начальное и конечное время для отчета SQL. Я всегда хочу, чтобы отобразить предыдущий период месяц выглядеть следующим образом:Отображение конкретного SQL-времени Datetime

Время: 1 августа 2014 00:00:00

Время окончания: 1 сентября 2014 00:00:00

Если отчет был запущен в октябре, он дал бы Sept1-Oct1. Не знаете, как на самом деле отобразить это как переменную Datetime?

ответ

0

В формате DATETIME, который был бы

SELECT 
    DATEADD(month, DATEDIFF(month, 0, GETDATE())-1, 0) AS StartTime, 
    DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0) AS EndTime 

Если вы хотите играть с форматами символов, вы можете сделать кучу вещей, как

SELECT 
    DATENAME(MONTH,StartTime) + ' ' + CAST(YEAR(StartTime) AS VARCHAR(4)) + ' - ' + DATENAME(MONTH,EndTime) + ' ' + CAST(YEAR(EndTime) AS VARCHAR(4)), 
    LEFT(DATENAME(MONTH,StartTime),3) + ' ' + CAST(YEAR(StartTime) AS VARCHAR(4)) + ' - ' + LEFT(DATENAME(MONTH,EndTime),3) + ' ' + CAST(YEAR(EndTime) AS VARCHAR(4)) 
FROM 
    (
    SELECT 
     DATEADD(month, DATEDIFF(month, 0, GETDATE())-1, 0) AS StartTime, 
     DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0) AS EndTime 
) dt 
0

Прошу прощения, если я неправильно понял, но это то, что вы ищете?

SELECT CAST(DATEADD(MONTH,-1,[date]) AS VARCHAR(12)) + '-' + CAST([date] AS VARCHAR(12)) FROM table 

Если вы должны были вставить в таблицу с SMALLDATETIME, такие как

'2014-09-23 10:28:00'

то, что будет Произведенный:

'23 августа 2014 -Sep 23 2014'

+0

Я бы хотел, чтобы он сказал 1-й по 1-й (в течение дня) независимо от того, в какой день выполняется запрос. – user3532047

+0

, так что в моем примере, что вы хотите в качестве вывода будет 1 августа 2014 года - 1 сентября 2014 года, правильно? – ItalianStallion

+0

Да. и если бы я запустил запрос на 10/23, это скажет 1 сентября - 1 октября и так далее. Я должен иметь возможность запускать его в любой день месяца и говорить об этом в предыдущий период. – user3532047

0

DATE_SUB(Date,INTERVAL 1 MONTH) AS PastMonth

woul d дисплей один месяц до даты

Смежные вопросы