使用SQLServer修改日期的正确方法(sqlserver修改日期)

日常开发中,一般会遇到这样或那样的日期问题,对于使用SQLServer特别是SQLServer2008R2的开发者来说,想要修改日期该如何操作呢?在文章中,将为您详细介绍如何使用SQLServer修改日期的正确方法。

首先,介绍在SQLServer中修改日期的一般操作流程,首先需要在创建一张表,然后给表中添加相关的字段,其中一个字段设置为DATETIME类型的日期字段,如:

“`sql

CREATE TABLE DemoTable (

[ID] INT NOT NULL,

[CreateTime] DATETIME NOT NULL

)


该操作之后,则可以在表中设置一个日期类型的数据,如:

```sql
INSERT INTO DemoTable (ID,CreateTime)
VALUES (1,'2017-10-10 10:10:10')

接下来,正式开始正文,关于如何使用SQLServer修改日期的正确方法,有以下几种:

### 方法一:使用UPDATE语句

使用UPDATE语句进行更新操作是最为简单的方法,其语法格式如下:

“`sql

UPDATE表名

SET字段名=值

WHERE条件


比如,在上边创建的DemoTable表中,如果想要把CreateTime字段更新为2017-10-11 10:10:10,可以使用如下所示的UPDATE语句:

```sql
UPDATE DemoTable
SET CreateTime = '2017-10-11 10:10:10'
WHERE ID = 1

### 方法二:使用DATEADD()函数

另外一种比较灵活的修改日期的方法是使用DATEADD()函数,该函数的作用是将指定日期增加指定的时间偏移量。DATEADD()函数的语法格式如下:

“`sql

DATEADD(时间偏移量的单位, 时间偏移量的数量, 要改变的日期)


以上边的DemoTable表为例,想要把CreateTime字段更新为2017-10-11 10:10:10,就可以使用如下所示的DATEADD函数:

```sql
UPDATE DemoTable
SET CreateTime = DATEADD(day,1,'2017-10-10 10:10:10')
WHERE ID = 1

### 方法三:使用DATEDIFF函数

DATEDIFF()是一个非常有用的日期函数,它可以返回两个日期之间的时间差,也可以用来修改日期。DATEDIFF()函数的语法格式如下:

“`sql

DATEDIFF(时间单位, 要减去的日期, 被减去的日期)


下边就以修改CreateTime字段为2017-10-11 10:10:10为例,可以使用如下所示的DATEDIFF函数:

```sql
UPDATE DemoTable
SET CreateTime = DATEADD(day,DATEDIFF(day,'2017-10-10 10:10:10','2017-10-11 10:10:10'),'2017-10-10 10:10:10')
WHERE ID = 1

以上就是使用SQLServer修改日期的正确方法,可以看出,修改日期有多种方式,在选择使用之前,可以根据实际需要,进行合理的选择使用。


数据运维技术 » 使用SQLServer修改日期的正确方法(sqlserver修改日期)