我希望在特定的日期中选择行。“星期一”,但我的类型列是时间戳"AAAA-MM-DD HH:MM:SS“。我已经找过了,但我不知道如何选择这个。
我的表是这样的,字段是forex_pair_price_time (时间戳):
mysql> describe forex_pair_price;
+-------------------------+----------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------+----------------+------+-----+-------------------+----------------+
...
| forex_pair_price_time | timestamp | NO | | CURRENT_TIMESTAMP | |
...
+-------------------------+----------------+------+-----+-------------------+----------------+发布于 2019-03-02 17:08:42
http://www.mysqltutorial.org/mysql-weekday
使用工作日(日期)。
…weekday函数返回日期的工作日索引,即0表示周一,1表示周二,星期天的6号。
Select * from forex_pair_price
where weekday(forex_pair_price_time)=0或
Dayname(forex_pair_price_time)='Monday'我认为使用weekday更省钱,因为它与整数而不是字符串进行比较。这可以节省字符串中的拼写错误问题。
发布于 2019-03-02 17:10:31
要查找周一外汇时间戳恰好到达的所有记录,我们可以尝试使用DAYNAME
SELECT *
FROM forex_pair_price
WHERE DAYNAME(forex_pair_price_time) = 'Monday';发布于 2019-03-02 18:13:23
SELECT forex_pair_price_time,
CASE
WHEN DAYOFWEEK(orex_pair_price_time) = 1 THEN "Sunday"
WHEN DAYOFWEEK(orex_pair_price_time) = 2 THEN "Monday"
WHEN DAYOFWEEK(orex_pair_price_time) = 3 THEN "Tuesday"
WHEN DAYOFWEEK(orex_pair_price_time) = 4 THEN "Wednesday"
WHEN DAYOFWEEK(orex_pair_price_time) = 5 THEN "Thursday"
WHEN DAYOFWEEK(orex_pair_price_time) = 6 THEN "Friday"
WHEN DAYOFWEEK(orex_pair_price_time) = 7 THEN "Saturday"
END Weekday
FROM forex_pair_pricehttps://stackoverflow.com/questions/54956845
复制相似问题