MS SQL server到postgresql

MS SQL server到postgresql,sql,postgresql,Sql,Postgresql,这个查询通过将实际月份作为参数来帮助我返回上一个月 SELECT SUBSTRING(CONVERT(VARCHAR(10), DATEADD(MONTH, DATEDIFF(MONTH, 0, '01-'+'2014-05') - 1, 0), 105),4,10) 例如,这里的查询返回:“04-2014” 那么,考虑到postgresql不使用以下功能,我如何在postgresql中执行相同的操作: DATEDIFF,DATEADD函数?使用到字符()和到日期(): 如果您有选择的话,我鼓

这个查询通过将实际月份作为参数来帮助我返回上一个月

SELECT SUBSTRING(CONVERT(VARCHAR(10), DATEADD(MONTH, DATEDIFF(MONTH, 0, '01-'+'2014-05') - 1, 0), 105),4,10)
例如,这里的查询返回:“04-2014”

那么,考虑到postgresql不使用以下功能,我如何在postgresql中执行相同的操作:

DATEDIFF,DATEADD函数?

使用
到字符()
到日期()

如果您有选择的话,我鼓励您使用“YYYY-MM”格式而不是“MM-YYYY”。将年份放在第一位可以按值订购。

请参阅和
select to_char(to_date('2014-05' || '-01', 'YYYY-MM-DD') - interval '1 month', 'MM-YYYY')