【问题标题】:Add int to date SQL将 int 添加到日期 SQL
【发布时间】:2018-12-11 10:25:00
【问题描述】:

我有一个表 Scadenziario 有很多列。

我想将 "Frequenza"(INT) 列添加到 "preavviso" (DATE) 列中。

随着查询

select ID, Scadenza, Frequenza
FROM scadenziario
WHERE Scadenza < '2018-12-11'

我要选择我需要的行

"frequenza" 是一个 int,它指定在更新截止日期之前将经过的天数 ("scadenza")

如何将“frequenza”添加到“Scadenza”?

例如

ID | Scadenza  | Frequenza
1  | 2018-12-1 | 20
2  | 2018-1-1  | 40

应该变成

ID | Scadenza   | Frequenza
1  | 2018-12-21 | 20
2  | 2018-2-11  | 40

【问题讨论】:

  • 将 int 列添加到日期是什么意思(wdum)??
  • 那么,请问,在 2018 年 12 月 11 日加上 13 的结果意味着成为吗?您要添加 吗? 几个月小时?完全不同的东西?此外,请为您的 RDBMS 添加标签,因为并非所有系统都遵循 SQL 标准进行日期操作。
  • 您使用的是哪个DBMS 产品? “SQL”只是一种查询语言,而不是特定数据库产品的名称和日期函数通常是非常特定于供应商的。请为您正在使用的数据库产品添加tag postgresql, oracle, sql-server, db2, ...
  • 向我们展示一些示例表数据和预期结果 - 都是格式化文本,而不是图像。
  • SELECT Scadenza + INTERVAL Frequenza DAY

标签: mysql sql date int


【解决方案1】:

你可以使用DATE_ADD()函数:

select ID, Scadenza, Frequenza, DATE_ADD( Scadenza, INTERVAL Frequenza DAY) 
FROM scadenziario
WHERE Scadenza < '2018-12-11'

【讨论】:

    【解决方案2】:

    我不明白你到底要做什么。 但如果我理解正确,这就是你需要做的:

    ALTER TABLE `scadenziario` 
    ADD COLUMN `Frequenza ` INT NULL AFTER `scadenza `;
    

    【讨论】:

    • 这不是我需要的,我用更多信息编辑了我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多