SQL Server 2005 - 添加日期和获取日期不起作用
SQL Server 2005 - DATE ADD AND GETDATE DOESN'T WORK
我在 SQL 查询中遇到一个非常奇怪的错误,我不明白为什么。
SELECT
CODCLIFOR, '',
DSCCONTO1, '',
NUMDOC, '',
NUMSCAD, '',
DATASCADENZA, '',
REPLACE(CONVERT(varchar, CAST(IMPORTOSCLIT AS money), 105),',','.') , '',
BANCAAPPCF.BANCAAPPOGGIO, '',
TIPIEFFETTI.DESCRIZIONE
FROM
dbo.TABSCADENZE
INNER JOIN
dbo.ANAGRAFICACF ON CODCLIFOR = CODCONTO
INNER JOIN
dbo.TIPIEFFETTI ON TIPOEFFETTO = EFFETTO
LEFT JOIN
dbo.BANCAAPPCF ON CODCLIFOR = BANCAAPPCF.CODCONTO AND BANCAAPPCF.CODICE = TABSCADENZE.BANCAAPPOGGIO
WHERE
TIPOEFFETTO = 2
AND DATASCADENZA ='2016-08-05'
AND CODCLIFOR LIKE '%C%'
ORDER BY
BANCAAPPCF.BANCAAPPOGGIO DESC
在日期 DATASCADENZA
的 where 条件下,如果我将今天的日期设置为“2016-08-05”,我会得到结果。如果我使用 GETDATE()
或 DATEADD(DAY, 3, GETDATE())
我没有得到任何结果......我不明白为什么。
你能帮帮我吗?谢谢!
GETDATE()
returns 日期的时间部分。在 SQL Server 2005 中,您可以通过执行以下操作删除时间组件:
DATASCADENZA = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
您可以将三天添加为:
DATASCADENZA = DATEADD(day, 3 + DATEDIFF(day, 0, GETDATE()), 0)
从 SQL Server 2008 开始,您可以转换为 DATE
数据类型:
DATASCADENZA = CAST(GETDATE() as DATE)
比起给某个神秘的“0”日期加上天数,我更喜欢这个公式。
我在 SQL 查询中遇到一个非常奇怪的错误,我不明白为什么。
SELECT
CODCLIFOR, '',
DSCCONTO1, '',
NUMDOC, '',
NUMSCAD, '',
DATASCADENZA, '',
REPLACE(CONVERT(varchar, CAST(IMPORTOSCLIT AS money), 105),',','.') , '',
BANCAAPPCF.BANCAAPPOGGIO, '',
TIPIEFFETTI.DESCRIZIONE
FROM
dbo.TABSCADENZE
INNER JOIN
dbo.ANAGRAFICACF ON CODCLIFOR = CODCONTO
INNER JOIN
dbo.TIPIEFFETTI ON TIPOEFFETTO = EFFETTO
LEFT JOIN
dbo.BANCAAPPCF ON CODCLIFOR = BANCAAPPCF.CODCONTO AND BANCAAPPCF.CODICE = TABSCADENZE.BANCAAPPOGGIO
WHERE
TIPOEFFETTO = 2
AND DATASCADENZA ='2016-08-05'
AND CODCLIFOR LIKE '%C%'
ORDER BY
BANCAAPPCF.BANCAAPPOGGIO DESC
在日期 DATASCADENZA
的 where 条件下,如果我将今天的日期设置为“2016-08-05”,我会得到结果。如果我使用 GETDATE()
或 DATEADD(DAY, 3, GETDATE())
我没有得到任何结果......我不明白为什么。
你能帮帮我吗?谢谢!
GETDATE()
returns 日期的时间部分。在 SQL Server 2005 中,您可以通过执行以下操作删除时间组件:
DATASCADENZA = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)
您可以将三天添加为:
DATASCADENZA = DATEADD(day, 3 + DATEDIFF(day, 0, GETDATE()), 0)
从 SQL Server 2008 开始,您可以转换为 DATE
数据类型:
DATASCADENZA = CAST(GETDATE() as DATE)
比起给某个神秘的“0”日期加上天数,我更喜欢这个公式。