首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于检查UNIX时间戳是否不是星期一的MySQL查询

用于检查UNIX时间戳是否不是星期一的MySQL查询
EN

Stack Overflow用户
提问于 2017-10-10 18:58:13
回答 2查看 859关注 0票数 2

我有一个有100000行的MySQL表。

每行只有一个名为unixtime的列,其中包含不同的unix-timestamp。数据类型为long

除了unix-timestamp是星期一的那些行之外,您会使用什么MySQL查询来删除所有行?

星期一在MySQL服务器的默认时区。

EN

回答 2

Stack Overflow用户

发布于 2017-10-10 19:56:01

使用函数FROM_UNIXTIME和DAYNAME

  1. FROM_UNIXTIME将unixtime戳转换为日期时间format.
  2. DAYNAME需要日期时间格式来获取日期名称。为什么是DAYNAME函数而不是DAYOFWEEK函数?DAYNAME(...) <> 'Monday'DAYOFWEEK(..) <> 2

读起来更清晰

从问题中不清楚是要过滤掉记录,还是要从表中实际删除记录,因此我包含了用于过滤记录的select查询和用于真正从表中删除这些记录的delete查询。

选择查询

代码语言:javascript
复制
SELECT
 *
FROM 
 table 
WHERE
 DAYNAME(FROM_UNIXTIME(unixtime)) <> 'Monday'

删除查询

代码语言:javascript
复制
DELETE 
 *
FROM 
 table
WHERE
  DAYNAME(FROM_UNIXTIME(unixtime)) <> 'Monday'
票数 2
EN

Stack Overflow用户

发布于 2017-10-10 19:54:40

当您说“删除”时,我不确定您是要从表中删除还是从SELECT中排除它们,因此我已将两者都包括在内

代码语言:javascript
复制
SELECT *
FROM YourTable
WHERE DAYOFWEEK(FROM_UNIXTIME(YourColumn)) = 2

DELETE
FROM YourTable
WHERE DAYOFWEEK(FROM_UNIXTIME(YourColumn)) <> 2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46665025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档