Mysql 如何在SQL查询中选择时间戳的一部分
在我使用的数据库中,我只想从特定的时间戳字段中选择年份。特别是,我希望从这个数据库专栏中选择独特的年份 例如,如果字段Mysql 如何在SQL查询中选择时间戳的一部分,mysql,sql,timestamp,distinct,extract,Mysql,Sql,Timestamp,Distinct,Extract,在我使用的数据库中,我只想从特定的时间戳字段中选择年份。特别是,我希望从这个数据库专栏中选择独特的年份 例如,如果字段“ModifyTimeStamp”中的所有时间戳都来自2002年或2006年,我只希望返回“2002”和“2006”的结果。如果这是不可能的,我会满足于得到一堆'2002'和'2006'混合的结果,然后再分析它 到目前为止,我所能做的就是“从表中选择ModifyTimeStamp”——我所有的解析尝试都失败了。我开始阅读有关SQL的extract命令,但我相信它只适用于Postg
“ModifyTimeStamp”
中的所有时间戳都来自2002年或2006年,我只希望返回“2002”和“2006”的结果。如果这是不可能的,我会满足于得到一堆'2002'和'2006'混合的结果,然后再分析它
到目前为止,我所能做的就是“从表中选择ModifyTimeStamp”——我所有的解析尝试都失败了。我开始阅读有关SQL的extract
命令,但我相信它只适用于PostgreSQL
非常感谢您的建议
编辑:得到了答案,非常感谢上帝和马克。我想要的代码是:
“从表中选择不同的年份(修改时间戳)”
试试这个
select distinct datepart(yy,TheDate) from YourTable
从表中选择distinct datepart(yy,TheDate)您没有指定正在使用的RDBMS(数据库服务器),但大多数数据库都内置了日期处理功能:
- MySQL/SQL Server:
select YEAR(modifytimestamp) from yourtable
select DatePart(year, modifytimestamp) from yourtable
- Access/SQL Server:
select YEAR(modifytimestamp) from yourtable
select DatePart(year, modifytimestamp) from yourtable
- 甲骨文:
select TO_CHAR(modifytimestamp, 'YYYY') from yourtable
timestamp
在SQL server中与日期或时间无关;-)抱歉,忘记指定了。MySQL数据库这适用于MS SQL Server,但其他RDBMS将具有类似的函数调用。参考:感谢datagod。我的实际命令有点不同,但是你用“distinct”关键字让我走上了正确的轨道。真不敢相信我在搜索中错过了。。。