在SQL中添加日期

在SQL数据库中,我们会遇到需要操作和处理日期的情况。这包括从给定值中添加和减去持续时间。例如,一个常见的任务包括从给定的日期值中添加或减去特定的日期。

在本教程中,我们将向您介绍在给定日期上添加天数的方法和技术。我们将在各种SQL数据库(如MySQL、PostgreSQL、SQL Server和Oracle)中探索这些技术。

样本数据

在深入研究各种技术之前,让我们先设置一个示例表,并用示例数据填充它以进行演示。这使我们能够更清楚、更有效地演示每种技术。

对于我们的表,我们创建一个名为“orders”的新表,其中包含“order_date”列。这包含每个订单的日期。

创建表

order_id INT主键,

order_date日期,

customer_username VARCHAR (255),

product_purchased VARCHAR (255),

price DECIMAL(10,2),

INT数量

);

此样例表包含有关在给定存储中执行的订单的信息。这包括“order_date”、“customer_username”、“product_bought”、“price”和“quantity”。

然后我们可以继续添加一个示例数据,如下所示:

INSERT INTO orders (order_date, customer_username, product_purchase, price, quantity)



('2023-01-15', 'alice_s', 'Widget A', 10.99, 3),

('2023-02-20', 'smith_h', 'Widget B', 14.99, 2),

('2023-03-25', 'alice_j', 'Widget C', 19.99, 1),

('2023-04-30', 'wilson_b', 'Widget A', 10.99, 5),

('2023-05-05', 'mary_a', 'Widget B', 14.99, 4);

这应该会将示例数据添加到“orders”表中。

在SQL Server中添加日期

让我们从SQL Server开始。在SQL Server中,我们可以使用DATEADD()函数,它允许我们从给定的日期值中添加或减去天数。

下面的例子展示了如何使用它:

SELECT order_id, DATEADD(DAY, 7, order_date)作为new_order_date

从订单;

这将为SQL Server中的“order_date”列添加7天。

最好记住,并非所有SQL数据库都支持此函数。

在MySQL中添加日期

为了MySQL的缘故,我们使用DATE_ADD()函数,它允许我们向日期添加天数。示例演示如下:

SELECT order_id, DATE_ADD(order_date, INTERVAL 7天)作为新order_date

从订单;

这将为“orders”表中的“order_date”列添加7天。结果输出如下:

order_id | new_order_date |

--------+--------------+

1 | 2023-01-22 |

2 | 2023-02-27 |

3 | 2023-04-01 |

4 | 2023-05-07 |

5 | 2023-05-12 |

在PostgreSQL中添加日期

在SQL中,我们使用INTERVAL关键字向给定日期添加天数。然后,我们可以将希望添加的天数作为字符串传递。

示例用法如下:

SELECT order_id, order_date + INTERVAL '7 days'作为new_order_date

从订单;

类似地,这应该在指定的日期列上添加7天。

在Oracle中添加日期

对于Oracle数据库,我们可以使用TO_DATE函数向日期添加天数,如下面的查询所示:

SELECT order_id, TO_DATE(order_date + 7, 'YYYY-MM-DD')作为新order_date

从订单;

这将在指定列上添加7天。

结论

在本教程中,我们向您介绍了在SQL数据库中向给定日期添加天数的各种方法和技术。正如本文所示,为您选择的数据库选择正确的方法是很好的。