Sql 将时间戳中的年份提取到新列中
我对SQL相当陌生,需要从包含日期的列中提取年份,格式如下:2003-05-07T00:00:00+02:00。我想创建一个新的专栏,只包含年份 我假设这是一个摘录的声明,但在那之后我被卡住了 从表名称中选择时间戳列将年时间戳列提取到新列中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
有什么建议吗?没有理由在数据库中重复数据。只要在您想知道年份的任何时候查询时间戳列中的年份即可
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;}我认为我不能在运行时这样做,还是我错了?