【问题标题】:Extract year from UNIX timestamp with SQL使用 SQL 从 UNIX 时间戳中提取年份
【发布时间】:2014-05-25 13:50:37
【问题描述】:

我在数据库中有一个名为 tidpunkt 的列,它以时间戳格式存储日期。如何使用 SQL 仅提取年份?我仍然希望提取的年份带有时间戳。

我试过这样:

SELECT EXTRACT(YEAR FROM tidpunkt) as tidpunkt FROM ringupp

但它不起作用。我做错了吗?

【问题讨论】:

    标签: sql time timestamp extract


    【解决方案1】:
    SELECT YEAR(tidpunkt) as tidpunkt FROM ringupp
    

    这样做

    SELECT FROM_UNIXTIME(tidpunkt , '%Y') AS tidpunkt FROM ringupp
    

    MySQL FROM_UNIXTIME() 从 unix_timestamp 版本返回日期 /datetime。返回值在‘YYYYY-MM-DD HH:MM:SS’中。

    DOCUMENTATION。另见Example

    【讨论】:

    • @m hasan:它不起作用。没有返回任何内容。数据库中的时间戳如下所示:1370601583
    • 好的,所以你的时间戳是 unix 格式的。检查编辑的答案
    • @m hasan:非常感谢。如何获得具有 2014 年的行? SELECT FROM_UNIXTIME(tidpunkt, '%Y') AS tidpunkt WHERE tidpunkt == "CURRENT YEAR IN TIMESTAMP";我不知道如何在 SQL 中获取当前年份。
    【解决方案2】:
    SELECT EXTRACT(YEAR FROM tidpunkt) FROM ringupp
    

    【讨论】:

      【解决方案3】:

      date_format 是你的 mysql 朋友
      http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format

      SELECT DATE_FORMAT( tidpunkt, '%Y' ) as tidpunkt FROM ringupp
      

      【讨论】:

        【解决方案4】:

        试试这个:

        如果您需要 4 位数年份

        SELECT DATEPART('yyyy',tidpunkt) as tidpunkt FROM ringupp
        

        如果需要 2 位数年份:

        SELECT DATEPART('yy',tidpunkt) as tidpunkt FROM ringupp
        

        文档here

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-05-23
          • 1970-01-01
          • 2015-12-08
          • 1970-01-01
          • 2010-12-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多