如何在sql server中添加天数到当前日期?

时间:2014-04-11 12:58:54

标签: sql-server dateadd

我正在尝试将天数添加到当前日期并且工作正常但是当我将360天添加到当前日期时它给了我错误的价值。

例如:当前日期是2014年4月11日 我正在加入360天,它应该给我11/04/2015 但它显示的是同一个日期11/04/2014。这一年没有变化。

这是我的代码

select dateadd(dd,360,getdate())

10 个答案:

答案 0 :(得分:39)

只是做 -

Select (Getdate()+360) As MyDate

无需使用dateadd函数来添加或减去给定日期的天数。要添加年,月,小时,您需要dateadd函数。

答案 1 :(得分:20)

select dateadd(dd,360,getdate())将为您提供正确的日期,如下所示:

  

2017-09-30 15:40:37.260

我刚刚运行查询并检查:
Please check the attached image

答案 2 :(得分:9)

Dateadd(datepart,number,date)

你应该像这样使用它: -

select DATEADD(day,360,getdate())

然后你会找到相同的日期,但不同的年份。

答案 3 :(得分:4)

从SQL Server 2017 official documentation

SELECT DATEADD(day, 360, GETDATE());

如果您要删除GETDATE功能的时间部分,可以执行以下操作:

SELECT DATEADD(day, 360, CAST(GETDATE() AS DATE));

答案 4 :(得分:0)

可以尝试这个

select (CONVERT(VARCHAR(10),GETDATE()+360,110)) as Date_Result

答案 5 :(得分:0)

两种或三种方式(取决于你想要的),比如我们现在的日期是 (在tsql代码中) -

DECLARE @myCurrentDate datetime = '11Apr2014 10:02:25 AM'

(顺便说一下 - 你的意思是11月11日或04Nov2014在你的原帖中?很难说,因为日期时间是文化偏见。在以色列11/04/2015意味着11月到2014年。我知道在美国11/04/2014它意味着04Nov2014我想是tommatoes tomatos)

  1. SELECT @myCurrentDate + 360 - 默认情况下,日期时间计算后跟+(某个整数),只需在几天内添加即可。所以你会得到2015-04-06 10:02:25.000 - 不完全是你想要的,而只是明年关闭日期的球场公园。

  2. SELECT DateADD(DAY, 365, @myCurrentDate)DateADD(dd, 365, @myCurrentDate) 会给你'2015-04-11 10:02:25.000'。这两种是合成糖(非常相似)。我想你应该这就是你想要的。但它仍然是错误的,因为如果日期是“四分之三”年(比如DECLARE @myCurrentDate datetime = '11Apr2011 10:02:25 AM'),你会得到'2012-04-10 10:02:25.000'。因为2012年有366天,还记得吗? (2012年2月29日消耗了一个“额外”日。几乎每四年都有29个月。)

  3. 所以我认为你的意思是

    SELECT DateADD(year, 1, @myCurrentDate)
    

    ,提供2015-04-11 10:02:25.000

  4. 或更好

    SELECT DateADD(year, 1, DateADD(day, DateDiff(day, 0, @myCurrentDate), 0))
    

    给你2015-04-11 00:00:00.000(因为datetime也有时间,对吧?)。微妙啊?

答案 6 :(得分:0)

SELECT DateAdd(5,day(getdate())这是为当前天增加5天。 例如:今天的日期是23/08/2018,通过使用上面的查询,它变成了28/08/2018

答案 7 :(得分:0)

import requests
import json
from bs4 import BeautifulSoup as bs
import pandas as pd
import re

res = requests.get('https://www.ratemds.com/doctor-ratings/dr-dilip-raja-mumbai-mh-in', headers={'User-Agent': 'Mozilla/5.0'})
soup = bs(res.content, 'lxml')
r = re.compile(r'window\.DATA\.doctorDetailProps = JSON\.parse(.*)')
data = soup.find('script', text=r).text
script = r.findall(data)[0].rstrip('");').lstrip('("')
convert_dict = {
    '\\u0022' : '"',
    '\\u002D' : '-',
    '\\u003D' : '=',
    '\\u005Cn' : ' ',
    '\\u0027' : "'",
    '\\u005Cr' : '',
    'false' : '"false"',
    'true' : '"True"',
    'null' : '"null"'
}

for k, v in convert_dict.items():
    script = script.replace(k, v)

items = json.loads(script)
doctor = items['doctor']
print(doctor['full_name'])
print(doctor['specialty_name'])
print(doctor['gender'])
print(doctor['geocode_address'])
print(doctor['rating'])

答案 8 :(得分:0)

它将给出当前月份的总天数,包括今天。

选择日期(getDate())

答案 9 :(得分:0)

在SQL Server 2008及更高版本中,只需执行以下操作:

SELECT DATEADD(day, 1, Getdate()) AS DateAdd;