我在数据库中有一个名为tidpunkt的列,它以时间戳格式存储日期。如何仅使用SQL提取年份?我仍然希望提取的年份是时间戳。
我试过这样:
SELECT EXTRACT(YEAR FROM tidpunkt) as tidpunkt FROM ringupp
但它不起作用。我做错了吗?
答案 0 :(得分: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
答案 1 :(得分:1)
试试这个:
如果您需要4位数年份
SELECT DATEPART('yyyy',tidpunkt) as tidpunkt FROM ringupp
如果需要2位数年份:
SELECT DATEPART('yy',tidpunkt) as tidpunkt FROM ringupp
文档here
答案 2 :(得分:0)
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
答案 3 :(得分:0)
SELECT EXTRACT(YEAR FROM tidpunkt) FROM ringupp