Я пытаюсь создать запрос, который смотрит на столбец даты (dateofcall) из таблицы с именем (callstable) и создает еще 2 столбца с форматом yyyy-mm 2 предыдущих года.
В дополнение к этому запросу необходимо посмотреть дату в столбце dateofcall и показать только результаты за предыдущий месяц.
Чтобы положить, что в английском, если я запускал запрос сегодня (7/10/2015) результат будет выглядеть следующим образомSQL Query: отображение предыдущей даты на основе столбца даты
-4
A
ответ
1
Поскольку вы используете SQL Server 2012, вы можете воспользоваться преимуществами FORMAT()
функция.
Вы можете использовать как FORMAT()
DATEADD()
и получить свой результат:
Select DateOfCall,
Format(DateAdd(Year, -2, DateOfCall), 'yyyy-MM') [2 Years Ago],
Format(DateAdd(Year, -1, DateOfCall), 'yyyy-MM') [1 Year Ago]
From CallsTable
Where DatePart(Month, DateOfCall) = DatePart(Month, DateAdd(Month, -1, GetDate())
And DatePart(Year, DateOfCall) = DatePart(Year, DateAdd(Month, -1, GetDate())
1
Вот еще один из возможных решений, которые будут работать на любой версии Tsql:
select cd,convert(char(7),cd1,126) oneyear,
convert(char(7),cd2,126) twoyears from
(select dateofcall cd, dateadd(year,-1,dateofcall) cd1,
dateadd(year,-2,dateofcall) cd2, dateadd(month,-1,getdate()) cu1 from callstable) cs
where month(cd)=month(cu1) and year(cd)=year(cu1)
смотрите здесь для working example.
Смежные вопросы
- 1. мс доступное поле даты автозаполнения на основе даты предыдущей записи
- 2. расчет mysql на основе предыдущей даты
- 3. Куст self join на основе предыдущей даты
- 4. Azure SQL - Рассчитать уровень запасов на основе предыдущей даты
- 5. Даты с SQL Query
- 6. SQL Query Сравнение даты
- 7. Как выполнять запросы на основе столбца даты?
- 8. SQL-фильтрация на основе даты
- 9. Access Query для Усреднения на основе Даты
- 10. Как подсчитать столбцы даты на основе другой столбца даты?
- 11. Sql Query с ключевым значением на основе даты и пользователя?
- 12. Отображение содержимого на основе даты в Javascript
- 13. как выбрать сумму столбца на основе даты
- 14. Как фильтровать данные на основе столбца даты?
- 15. MySQL Обновление Значение столбца на основе даты
- 16. Выбор даты на основе уникальных данных столбца в SQL Server
- 17. Выбор не-дубликатов на основе даты столбца - SQL Server
- 18. Изменение имени динамического столбца на основе даты [T-SQL]
- 19. SQL-запрос на основе даты и дня
- 20. Удаление строки на основе даты - Значения даты
- 21. Ошибка SQL Query (сравнение даты)
- 22. Выбор даты на основе текущей даты
- 23. Сравните значения предыдущей даты и второй предыдущей даты в PowerPivot
- 24. SQL statement - join на основе даты
- 25. SQL - столбец вывода на основе последней даты
- 26. Отображение значений даты для текущей даты в SQL Server
- 27. Подсчет строк SQL на основе запроса даты
- 28. Приращение предыдущей даты времени
- 29. SQL pulling data на основе даты
- 30. Переменный столбец на основе даты и времени столбца в T-SQL Query
За исключением того, что вы действительно не должны использовать формат, когда можете просто использовать конвертацию, см. Http://sqlperformance.com/2015/06/t-sql-queries/format-is-nice-and-all-but –