Stack Overflow на русском Asked on December 30, 2021
У меня есть запрос
WITH crimes_count AS
(SELECT *
FROM
(SELECT *
FROM
(SELECT category,
MONTH AS mth,
COUNT(*) OVER(PARTITION BY category, MONTH
ORDER BY MONTH)
FROM streetlevelcrimes) AS a
GROUP BY a.category,
a.mth,
a.count
ORDER BY a.mth) AS b)
SELECT *
FROM crimes_count AS a
JOIN crimes_count AS b ON a.category = b.category
WHERE FORMAT(a.mth, 'YYYY-MM') = add_months(FORMAT(a.mth, 'YYYY-MM'), -1) # Вот тут мне нужно отнять 1 месяц
Дата хранится в формате TEXT и выглядит следующим образом: '2018-01'
, ('YYYY-MM')
.
Мне надо конвертировать текст в дату и отнять от этой даты месяц, по данному запросу выдает ошибку
No function matches the given name and argument types. You might need to add explicit
type casts.
Вам нужны функции to_date
и to_char
:
SELECT to_char(to_date('2018-01', 'YYYY-MM') - INTERVAL '1 month', 'YYYY-MM');
Результат:
to_char --------- 2017-12 (1 row)
Answered by Ainar-G on December 30, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP