【问题标题】:SQL to Filter timestamp using the where clause on day or timeSQL 在日期或时间使用 where 子句过滤时间戳
【发布时间】:2018-11-03 07:14:09
【问题描述】:

我有这张表,我正在尝试从 date_time_stamp 字段中根据日期或月份过滤记录

+---------------+-----------------+
| name          | date_time_stamp |
+---------------+-----------------+
| John          |      1329828975 |
+---------------+-----------------+
| Ken           |      1428728929 |
+---------------+-----------------+
| Bennedict     |      1526758965 |
+---------------+-----------------+
| Lily          |      1725498952 |
+---------------+-----------------+

以下 SQL 只能从表中获取日、月和年,但添加了 WHERE day=5 标志错误

SELECT us.lessons_ID,
us.from_timestamp,
us.users_LOGIN,
       DAY(FROM_UNIXTIME(us.from_timestamp)) as 'day',
       MONTH(FROM_UNIXTIME(us.from_timestamp))  as 'month',
        YEAR(FROM_UNIXTIME(us.from_timestamp))  as 'year'
   FROM users_to_lessons  us

所以我的问题是我如何从这个表中过滤记录是月份等于 May 或 June 等 或基于 day 过滤,甚至基于 Month 过滤, 日期和年份

如果有人可以给我一个线索会很高兴

【问题讨论】:

  • WHERE DAY(FROM_UNIXTIME(us.from_timestamp)) = 5
  • 要添加到@GiorgosBetsos 评论:您不能在WHERE 子句中使用别名,您必须使用完整的语句。除非你想做一些子查询魔法。
  • 请标记您的 dbms(如 sql 标签要求的那样)。
  • @GiorgosBetsos 非常感谢,你的解决方案就像一个魅力......现在就通过你的博客giorgosbetsos.blogspot.com.ng 我会说它是一些 DBMS/SQL 解决方案......我真的很想有你在我的联系人列表 SKYPE、WATSAPP、FB、TWITTER,我可以在哪些上与你联系?

标签: php sql timestamp unix-timestamp


【解决方案1】:

感谢@GiorgosBetsos。

正确的SQL变成了这个

SELECT us.lessons_ID,
us.from_timestamp,
us.users_LOGIN,
       DAY(FROM_UNIXTIME(us.from_timestamp)) as 'day',
       MONTH(FROM_UNIXTIME(us.from_timestamp))  as 'month',
        YEAR(FROM_UNIXTIME(us.from_timestamp))  as 'year'
   FROM users_to_lessons  us

   WHERE DAY(FROM_UNIXTIME(us.from_timestamp)) = 5

【讨论】:

    猜你喜欢
    • 2010-12-12
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-28
    • 2010-12-29
    相关资源
    最近更新 更多