【问题标题】:SQL: how to extract the month from a date time field [duplicate]SQL:如何从日期时间字段中提取月份[重复]
【发布时间】:2013-03-06 17:50:10
【问题描述】:

我需要从日期时间字段A 中提取月份,然后将结果作为同一表中的整数放入字段B,如果字段B 为空。

例如)1988-02-03 00:00:00.000 我需要提取 02 并将结果放入另一个字段中,前提是该字段为空。

我猜这最终会成为一个存储过程。

【问题讨论】:

  • “我需要提取 02”部分不清楚,您是否正在更新两个字段?
  • 这里的答案比建议的重复问题更完整,因为它还涵盖了如何更新字段和检查空字段。

标签: sql sql-server


【解决方案1】:

使用MONTH()

UPDATE your_table
SET some_column = MONTH(date_column)
WHERE some_column IS NULL

【讨论】:

  • ... 假设 02 实际上是月份并且日期格式不是YYYY-DD-MM
【解决方案2】:

MONTH(fieldA)DATEPART(M, fieldA)

【讨论】:

    【解决方案3】:

    SQL Server 有一个名为 month() 的内置函数,它将返回日期和时间戳数据类型的月份

    UPDATE yourtable
    SET newcolumn = month(columnname)
    WHERE newcolumn IS NULL
    

    【讨论】:

    猜你喜欢
    • 2016-08-20
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    相关资源
    最近更新 更多