【问题标题】:NULL value for int in Update statementUpdate 语句中 int 的 NULL 值
【发布时间】:2011-05-19 05:51:18
【问题描述】:

是否可以在 update 语句中为 int 列设置 NULL 值?

在这种情况下如何编写更新语句?

【问题讨论】:

    标签: sql sql-update


    【解决方案1】:

    假设该列设置为支持 NULL 作为值:

    UPDATE YOUR_TABLE
       SET column = NULL
    

    注意数据库 NULL 处理 - 默认情况下,在 SQL Server 中,NULL 是一个 INT。因此,如果列是不同的数据类型,您需要将 NULL 转换为正确的数据类型:

    UPDATE YOUR_TABLE
       SET column = CAST(NULL AS DATETIME)
    

    ...假设column 是上例中的 DATETIME 数据类型。

    【讨论】:

    • 默认情况下,在 SQL Server 中,NULL 是一个 INT这不是真的,我怀疑它甚至可以追溯到 2011 年。
    【解决方案2】:

    使用不带引号的NULL

    UPDATE `tablename` SET `fieldName` = NULL;
    

    【讨论】:

      【解决方案3】:

      如果你的 int 列可以为空,你可以这样写:

      UPDATE dbo.TableName
      SET TableName.IntColumn = NULL
      WHERE <condition>
      

      【讨论】:

        【解决方案4】:

        如果这是可为空的 int 字段,那么是的。

        update TableName
        set FiledName = null
        where Id = SomeId
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-02-01
          • 2011-10-04
          • 1970-01-01
          • 2021-04-11
          • 1970-01-01
          • 2020-10-26
          相关资源
          最近更新 更多