仅从 SQL DATE 获取月份和年份 [英] Getting only Month and Year from SQL DATE

查看:55
本文介绍了仅从 SQL DATE 获取月份和年份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只需要从 SQL Server 中的日期字段访问 Month.Year.

I need to access only Month.Year from Date field in SQL Server.

推荐答案

除了已经给出的建议之外,我还可以从您的问题中推断出另一种可能性:
- 你仍然希望结果是一个日期
- 但是您想丢弃"天数、小时数等
- 只留下年/月的日期字段

As well as the suggestions given already, there is one other possiblity I can infer from your question:
- You still want the result to be a date
- But you want to 'discard' the Days, Hours, etc
- Leaving a year/month only date field

SELECT
   DATEADD(MONTH, DATEDIFF(MONTH, 0, <dateField>), 0) AS [year_month_date_field]
FROM
   <your_table>

这会从基准日期 (0) 获取整月数,然后将它们添加到该基准日期.因此四舍五入到日期所在的月份.

This gets the number of whole months from a base date (0) and then adds them to that base date. Thus rounding Down to the month in which the date is in.

注意:在 SQL Server 2008 中,您仍会将 TIME 附加为 00:00:00.000这与完全删除"任何日期和时间符号并不完全相同.也将 DAY 设置为第一个.例如2009-10-01 00:00:00.000

NOTE: In SQL Server 2008, You will still have the TIME attached as 00:00:00.000 This is not exactly the same as "removing" any notation of day and time altogether. Also the DAY set to the first. e.g. 2009-10-01 00:00:00.000

这篇关于仅从 SQL DATE 获取月份和年份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆