【问题标题】:Populate SQL column with days of the week within a date range用日期范围内的星期几填充 SQL 列
【发布时间】:2013-03-06 11:18:13
【问题描述】:

我的数据库中目前有一个表格,其中列出了从 5 月到 10 月的一系列日期,格式如下:YYYY-MM-DD

我想做的是创建一个包含星期几的新列,与日期匹配。我想到了两个选择;

  1. 更新“day”列中的所有行,从星期一开始,然后是下一个星期二、下一个星期三等,等到星期天,循环序列直到表格结束。

  2. 读取“日期”列中的日期并将“日”列更新为匹配的星期几。

我认为选项 1 是最简单的,而且很有可能,因为没有跳过任何日期。但我不知道如何做到这一点,也找不到任何类似的搜索网络。

任何帮助将不胜感激!谢谢

【问题讨论】:

  • @echo_me 感谢编辑!

标签: mysql sql command


【解决方案1】:

作为一般规则,我会说:不要这样做。星期几直接来自日期;将其单独存储在数据库中会破坏规范化的基本规则之一(没有派生数据)。

有一些 MySQL 函数可以找到星期几 - dayofweek() 和 weekday()。

【讨论】:

    【解决方案2】:

    试试这个:

    update table
    set day = DATENAME(dw, date)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 1970-01-01
      • 2017-10-12
      相关资源
      最近更新 更多