如何在SQL查询中选择部分时间戳
在我正在使用的数据库中,我只想从特定时间戳字段中选择年份。特别是,我希望从这个数据库列中选择独特的年份。例如,如果"ModifyTimeStamp"
字段中的所有时间戳都是2002年或2006年的时间戳,我只想返回“2002”和“2006”的结果。如果这是不可能的,我会满足于得到一系列'2002'和'2006'混合的结果,并在稍后解析它。如何在SQL查询中选择部分时间戳
到目前为止我所能得到的所有工作都是"Select ModifyTimeStamp from Table"
- 我所有的解析尝试都失败了。我开始阅读关于SQL的extract
命令,但我相信它仅适用于PostgreSQL。
任何建议非常感谢!
编辑:得到了答案,感谢很多datagod和马克。我一直在寻找最终被代码:
"Select distinct YEAR(ModifyTimeStamp) from Table"
你不指定RDBMS(数据库服务器)你使用,但大多数数据库确实有日期处理功能内置:
-
的MySQL/SQL服务器:
次select YEAR(modifytimestamp) from yourtable
-
访问/ SQL服务器:
select DatePart(year, modifytimestamp) from yourtable
-
甲骨文:
select TO_CHAR(modifytimestamp, 'YYYY') from yourtable
试试这个
select distinct datepart(yy,TheDate) from YourTable
这适用于MS SQL Server,但其他RDBMS将具有相似的函数调用。 – 2011-04-27 18:30:26
参考:[SQL Server(2008)datepart](http://msdn.microsoft.com/en-us/library/ms174420.aspx) – 2011-04-27 18:30:51
谢谢datagod。我的实际命令最后有点不同,但是你让我用“distinct”关键字进入正确的轨道。不能相信我在我的搜索中错过了... – pghprogrammer4 2011-04-27 18:38:37
哪个数据库? (另外,随机信息:SQL服务器中的'timestamp'与日期或时间无关;-) – 2011-04-27 18:30:16
对不起,忘了指定。 MySQL数据库 – pghprogrammer4 2011-04-27 18:37:00