【发布时间】:2014-12-24 22:41:28
【问题描述】:
我有一个包含多列的表。其中两列如下:
列名类型
------------ -----
Use_Date 日期
Day_Name 字符
表中有 5 行,每行在 Use_Date 中都有不同的日期值,Day_Name 为空。我想更新表格并使用每一行日期的日期名称设置日期。
类似...
update mytable
set Day_Name = date("D", strtotime('Use_Date'));
但是上面的方法不行!
【问题讨论】:
-
您应该添加一个标签来指示您使用的数据库,以防万一它有所作为。它也会让您的问题得到更多关注。
-
您显然是将 PHP
date()函数直接放入 SQL 字符串中。那是行不通的。 MySQLhas native functions for date handling可以使用,或者需要将PHP日期函数的结果正确拼接成SQL字符串。 -
特别是there is
DAYNAME(),您可以使用它UPDATE mytable SET Day_Name = DAYNAME(Use_Date)。但是您也可以在查询时使用该函数检索该值,而不是首先存储它,如SELECT DAYNAME(Use_Date) AS Day_Name FROM mytable