manejo - Fecha aritmética con SQL y DB2 para i
manejo de fechas en db2 (1)
Creo que quieres una cláusula Where como la siguiente:
where "date" between current date - 2 years and current date
Necesita las comillas dobles porque la date
es una palabra reservada. El resto es solo para obtener una cita en los últimos dos años.
Estoy tratando de ejecutar una consulta SQL que actualizará la información en una tabla específica. El problema con el que me estoy encontrando es que necesito la consulta para extraer la fecha de hoy, cualquiera que sea la fecha en que se ejecute la consulta, y luego solo extraer registros que se remontan a años. Luego deseo que devuelva un AVG
de CUR_CASH_UNITS durante ese período de dos años. He intentado DATEDIFF y DATEADD y esos no parecen funcionar con el sistema que tengo porque devuelve un error * libl. Esto es lo que tengo:
Select Month,
SSSALESNAM,
CAT,
Sum(Units) as Units
From DW****.******EG
Inner Join (Select CAT,
STORE,
MONTH(DATE) As Month,
Sum(CUR_CASH_UNITS) As Units
From DW*******.****AT
Inner Join (Select CAT,
CATNUM
From DW****.*****ST) As Category_List
On DW*******.****AT.CATEGORY_NUMBER=Category_List.CATNUM
--Where (((CUR_CASH_UNITS.MONTH(DATE)) Between MONTH(DATE) And (MONTH(DATE)-24MONTH))
Group by Cat,
Store,
MONTH(DATE)) As Cash_Units
On DW****.******EG.SSSTR=Cash_Units.STORE
Group By Month,
SSSALESNAM,
CAT
Order By Month,
SSSALESNAM
La sección anterior que está comentada es solo uno de mis intentos de hacer funcionar la aritmética de la fecha. Con la instrucción Where
comentada, la consulta se ejecutó correctamente. La columna de fecha en mi tabla está etiquetada como FECHA con un formato de AAAA-MM-DD. Es algo nuevo en SQL, así que me disculpo por adelantado si es algo simple que estoy pasando por alto.