我想在我的sql查詢中只選擇年份部分的時間戳。數據的格式如下:我想在我的sql查詢中只選擇年份部分的時間戳
2016-12-13 23:59:58
2016-12-07 23:59:58
2016-12-01 23:59:58
我希望我的查詢結果只返回「2016」。
我想在我的sql查詢中只選擇年份部分的時間戳。數據的格式如下:我想在我的sql查詢中只選擇年份部分的時間戳
2016-12-13 23:59:58
2016-12-07 23:59:58
2016-12-01 23:59:58
我希望我的查詢結果只返回「2016」。
如果SQL Server,做
SELECT DATEPART(year,'2016-12-13 23:59:58')
,你會得到2016如果其他RDBMS,也許類似的東西。
希望有所幫助。
在Postgres中有date_part函數來完成這項工作。第一個參數是需要被提取的部分,第二個參數是時間戳記:
例如: select date_part('year', timestamp '2001-02-16 20:38:40');
進一步的細節:postgres documentation
SQL服務器
如果您有問題,請確保您的列實際上是一個時間戳,而不僅僅是一個字符串:
SELECT
DATEPART(YEAR, CONVERT(DATETIME, '2016-12-13 23:59:58')) as YR
FROM TABLENAME
在您的實際查詢中,您希望將'2016-12-13 23:59:58'
替換爲列名稱。
SELECT
DATEPART(YEAR, CONVERT(DATETIME, DateColumn)) as YR
FROM TABLENAME
甲骨文
SELECT
EXTRACT(YEAR FROM (TO_DATE('2016-12-13 23:59:58', 'YYYY-MM-DD HH24:MI:SS'))) as YR
FROM TABLENAME
同樣
SELECT
EXTRACT(YEAR FROM (TO_DATE(DateColumn, 'YYYY-MM-DD HH24:MI:SS'))) as YR
FROM TABLENAME
使用的是什麼DBMS? – Siyual
你使用的是什麼dbms?你嘗試過搜索嗎?這很容易完成。 –
在標準的SQL中,這將是'提取(年份from_column)' –