我试图在sql查询中只选择时间戳的年份部分
我试图在sql查询中只选择时间戳的年份部分。数据格式如下:我试图在sql查询中只选择时间戳的年份部分,sql,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中有日期部分功能来完成这项工作。第一个参数是需要提取的部分,
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中有日期部分功能来完成这项工作。第一个参数是需要提取的部分,第二个参数是时间戳: 例如: 选择日期“年”,时间戳“2001-02-16 20:38:40” 有关更多详细信息:SQL Server 如果遇到问题,请确保列实际上是时间戳,而不仅仅是字符串:
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(DateColumn, 'YYYY-MM-DD HH24:MI:SS') )) as YR
FROM TABLENAME
您使用的是什么数据库管理系统?你试过搜索吗?这很容易实现。在标准SQL中,这是从列中提取的年份。SQL Server可以是YearYourColumn或DatePartYear,YourColumn。同样,这在谷歌上很容易找到。这是懒惰。你本可以在谷歌上搜索这个,并在几秒钟内得到答案。可能是重复的
SELECT
EXTRACT(YEAR FROM (TO_DATE(DateColumn, 'YYYY-MM-DD HH24:MI:SS') )) as YR
FROM TABLENAME