如何在SQL查询中选择部分时间戳

时间:2011-04-27 18:25:18

标签: mysql sql timestamp distinct extract

在我正在使用的数据库中,我想只从特定的TimeStamp字段中选择年份。特别是,我希望从这个数据库专栏中选择独特的年份。

例如,如果字段"ModifyTimeStamp"中的所有时间戳都来自2002年或2006年,我只想返回'2002'和'2006'的结果。如果这是不可能的,我会满足于得到一堆'2002年与'2006年混合的结果,并将在稍后解析。

到目前为止我能够工作的只有"Select ModifyTimeStamp from Table" - 我所有解析的尝试都失败了。我开始阅读有关SQL的extract命令,但我相信它仅适用于PostgreSQL。

非常感谢任何建议!

编辑:得到了答案,非常感谢datagod和Marc。我正在寻找的代码最终成为:

"Select distinct YEAR(ModifyTimeStamp) from Table"

2 个答案:

答案 0 :(得分:10)

您没有指定您正在使用的RDBMS(数据库服务器),但大多数数据库都内置了日期处理函数:

  • MySQL / SQL Server:

    select YEAR(modifytimestamp) from yourtable
    
  • Access / SQL Server:

    select DatePart(year, modifytimestamp) from yourtable
    
  • 甲骨文:

    select TO_CHAR(modifytimestamp, 'YYYY') from yourtable
    

答案 1 :(得分:8)

试试这个

select distinct datepart(yy,TheDate) from YourTable