如何从 sql 中的日期返回两天?
How to go back two days from a date in sql?
我写了一个 SQL 查询,可以让我获得某些商店的销售额。
我的查询每天早上运行,我想在运行时获取 2 天前的销售额。
例如,如果我的查询在明天早上运行,即 08/12,我想要列 "GP_HEURECREATION"
中的值以“20200612”开头的销售额,以获得整个销售额天.
GP_HEURECREATION
列的格式如下:"20200612 00:00:00"
并且属于 DATE
类型。
我尝试使用 NOW()
和 DATEADD(
) 但我有 2018 年的值,例如突出。
如何在执行查询前两天获取值?
SELECT
T_ETABLISSEMENT, ET1.ET_LIBELLE AS C1, GL_ETABLISSEMENT,
GP_HEURECREATION, GP_REFINTERNE, GL_CODEARTICLE,
LIBDIM2, LIBDIM1, GL_QTEFACT, GL_PUTTC,
(GL_TOTALHT * GP_COTATIONDOS) AS TOTALHTDEV, GL_DPR, GL_DEVISE,
GL_NATUREPIECEG, GA_LIBELLE
FROM
GCLIGNEARTDIM
LEFT OUTER JOIN
PGI_LOOKUP(TTETABLISSEMENT) ET1 ON GL_ETABLISSEMENT = ET1.ET_ETABLISSEMENT
WHERE
(GP_HEURECREATION <= DATEADD(day, -2, GETDATE())
AND (GL_NATUREPIECEG = "FFO")
AND GL_ETABLISSEMENT = "20897", "10519", "20267", "26451", "20269", "26078", "28047", "20900", "28085", "24984", "27113", "20268", "19994", "28450", "26876", "24063", "18066", "3220"
ORDER BY
GP_REFINTERNE
您现有查询的语法建议 SQL 服务器。如果你想要属于第-2天的记录,你可以这样做:
where gp_heurecreation >= dateadd(day, -2, convert(date, getdate()))
and gp_heurecreation < dateadd(day, -1, convert(date, getdate()))
如果 gp_heurecreation
没有时间组件(在 SQL 服务器中,那是 date
数据类型),这更简单:
where gp_heurecreation = dateadd(day, -2, convert(date, getdate()))
我写了一个 SQL 查询,可以让我获得某些商店的销售额。 我的查询每天早上运行,我想在运行时获取 2 天前的销售额。
例如,如果我的查询在明天早上运行,即 08/12,我想要列 "GP_HEURECREATION"
中的值以“20200612”开头的销售额,以获得整个销售额天.
GP_HEURECREATION
列的格式如下:"20200612 00:00:00"
并且属于 DATE
类型。
我尝试使用 NOW()
和 DATEADD(
) 但我有 2018 年的值,例如突出。
如何在执行查询前两天获取值?
SELECT
T_ETABLISSEMENT, ET1.ET_LIBELLE AS C1, GL_ETABLISSEMENT,
GP_HEURECREATION, GP_REFINTERNE, GL_CODEARTICLE,
LIBDIM2, LIBDIM1, GL_QTEFACT, GL_PUTTC,
(GL_TOTALHT * GP_COTATIONDOS) AS TOTALHTDEV, GL_DPR, GL_DEVISE,
GL_NATUREPIECEG, GA_LIBELLE
FROM
GCLIGNEARTDIM
LEFT OUTER JOIN
PGI_LOOKUP(TTETABLISSEMENT) ET1 ON GL_ETABLISSEMENT = ET1.ET_ETABLISSEMENT
WHERE
(GP_HEURECREATION <= DATEADD(day, -2, GETDATE())
AND (GL_NATUREPIECEG = "FFO")
AND GL_ETABLISSEMENT = "20897", "10519", "20267", "26451", "20269", "26078", "28047", "20900", "28085", "24984", "27113", "20268", "19994", "28450", "26876", "24063", "18066", "3220"
ORDER BY
GP_REFINTERNE
您现有查询的语法建议 SQL 服务器。如果你想要属于第-2天的记录,你可以这样做:
where gp_heurecreation >= dateadd(day, -2, convert(date, getdate()))
and gp_heurecreation < dateadd(day, -1, convert(date, getdate()))
如果 gp_heurecreation
没有时间组件(在 SQL 服务器中,那是 date
数据类型),这更简单:
where gp_heurecreation = dateadd(day, -2, convert(date, getdate()))