我在数据库中有一个名为tidpunkt的列,它以时间戳格式存储日期。我如何只提取一年的SQL?我仍然希望提取的年份在时间戳中。使用SQL从UNIX时间戳提取年份
我已经试过这样:
SELECT EXTRACT(YEAR FROM tidpunkt) as tidpunkt FROM ringupp
但它不工作。难道我做错了什么?
我在数据库中有一个名为tidpunkt的列,它以时间戳格式存储日期。我如何只提取一年的SQL?我仍然希望提取的年份在时间戳中。使用SQL从UNIX时间戳提取年份
我已经试过这样:
SELECT EXTRACT(YEAR FROM tidpunkt) as tidpunkt FROM ringupp
但它不工作。难道我做错了什么?
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
试试这个:
如果您需要4位数的年份
SELECT DATEPART('yyyy',tidpunkt) as tidpunkt FROM ringupp
,如果2位数的年份是必需的:
SELECT DATEPART('yy',tidpunkt) as tidpunkt FROM ringupp
文档here
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
SELECT EXTRACT(YEAR FROM tidpunkt) FROM ringupp
@m哈桑:这是行不通的。没有什么会被返回。数据库中的时间戳记如下所示:1370601583 – user500468
ok,所以你的时间戳记是unix格式。编辑答案 –
@m hasan:非常感谢。我如何获得2014年的行? SELECT FROM_UNIXTIME(tidpunkt,'%Y')AS tidpunkt WHERE tidpunkt ==“CURRENT YEAR IN TIMESTAMP”;我不知道如何在SQL中获取当前年份。 – user500468