Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 将时间戳中的年份提取到新列中_Sql_Timestamp_Extract - Fatal编程技术网

Sql 将时间戳中的年份提取到新列中

Sql 将时间戳中的年份提取到新列中,sql,timestamp,extract,Sql,Timestamp,Extract,我对SQL相当陌生,需要从包含日期的列中提取年份,格式如下:2003-05-07T00:00:00+02:00。我想创建一个新的专栏,只包含年份 我假设这是一个摘录的声明,但在那之后我被卡住了 从表名称中选择时间戳列将年时间戳列提取到新列中 有什么建议吗?没有理由在数据库中重复数据。只要在您想知道年份的任何时候查询时间戳列中的年份即可 SELECT YEAR(time_stamp_column) FROM tablename WHERE YEAR(time_stamp_column) = 201

我对SQL相当陌生,需要从包含日期的列中提取年份,格式如下:2003-05-07T00:00:00+02:00。我想创建一个新的专栏,只包含年份

我假设这是一个摘录的声明,但在那之后我被卡住了

从表名称中选择时间戳列将年时间戳列提取到新列中


有什么建议吗?

没有理由在数据库中重复数据。只要在您想知道年份的任何时候查询时间戳列中的年份即可

SELECT YEAR(time_stamp_column) FROM tablename WHERE YEAR(time_stamp_column) = 2013

此外,您可能会发现这一点很有帮助:

您正在使用Oracle吗?如果是这样,您可以像您所说的那样使用EXTRACT,但语法如下:

SELECT EXTRACT(YEAR FROM SYSTIMESTAMP) AS year_value FROM dual;
输出:

YEAR_VALUE ---------- 2013
如果年份始终为4位数字,则可以使用TO_NUMBERSUBSTRtime_stamp_列,1,4。。 如果将这些值存储为varchar,则这将起作用


如果是时间戳/日期,则使用Jade的答案。

该字段的数据类型是什么?很多时候,由于某种原因,日期被存储为varchar…这非常有用,谢谢。我确实需要将其与CartoCSS一起使用,生成年份,然后将其作为样式[year=2003]的值输入{marker opacity:.1;}我认为我不能在运行时这样做,还是我错了?