2014-04-11 41 views
0

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

我已经试过这样:

SELECT EXTRACT(YEAR FROM tidpunkt) as tidpunkt FROM ringupp 

但它不工作。难道我做错了什么?

回答

1
SELECT YEAR(tidpunkt) as tidpunkt FROM ringupp 

做这个

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

MySQL的FROM_UNIXTIME()返回从版本UNIX_TIMESTAMP的日期/日期。返回值是'YYYYY-MM-DD HH:MM:SS'。

请参阅DOCUMENTATION。另请参阅该Example

+0

@m哈桑:这是行不通的。没有什么会被返回。数据库中的时间戳记如下所示:1370601583 – user500468

+0

ok,所以你的时间戳记是unix格式。编辑答案 –

+0

@m hasan:非常感谢。我如何获得2014年的行? SELECT FROM_UNIXTIME(tidpunkt,'%Y')AS tidpunkt WHERE tidpunkt ==“CURRENT YEAR IN TIMESTAMP”;我不知道如何在SQL中获取当前年份。 – user500468

1

试试这个:

如果您需要4位数的年份

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

,如果2位数的年份是必需的:

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

文档here

0
SELECT EXTRACT(YEAR FROM tidpunkt) FROM ringupp