首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SQL Server 2008中只存储月份和年份?

在SQL Server 2008中只存储月份和年份?
EN

Stack Overflow用户
提问于 2011-10-21 07:20:56
回答 5查看 17.2K关注 0票数 10

是否可以在SQL Server 2008中使用常规日期时间保存月/年?我不需要时间戳,该列将存储唯一的mo/yr组合(即10-11、11-11、12-11等)。

有什么建议吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-10-21 07:25:49

如果不知道目标用途,就不可能正确地给出建议。但是,存储月份和年份至少可以通过以下三种方式轻松完成:

  • 使用日期字段,但始终在午夜将月份的第一天存储在该字段中;然后始终自定义日期字段的格式以显示
  • 添加整型年和月字段,并通过分割日期来填充它们
  • 添加整型字段,将其编码为年* 100 +月或其他一些有用的方案
票数 17
EN

Stack Overflow用户

发布于 2011-10-21 07:23:35

无论如何,Sql Server都将完整地存储日期时间数据(年-月-日,hour:min:sec.milliSec)。

当您存储日期时,您可以将日期设置为每月1号。在进行查询时,只需按您希望的方式格式化日期即可。

http://www.sql-server-helper.com/tips/date-formats.aspx

票数 3
EN

Stack Overflow用户

发布于 2012-08-30 18:47:07

从SQLServer 2008及更高版本:

另存为Date列并添加以下检查约束,以确保该值始终为该月的第一个月:

代码语言:javascript
运行
复制
datepart(month, MyDate)<>datepart(month,dateadd(day, -1, MyDate))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7843399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档