2014-04-11 43 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