仅从 SQL DATE 获取月份和年份

Getting only Month and Year from SQL DATE(仅从 SQL DATE 获取月份和年份)
本文介绍了仅从 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 获取月份和年份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
Hibernate reactive No Vert.x context active in aws rds(AWS RDS中的休眠反应性非Vert.x上下文处于活动状态)
Bulk insert with mysql2 and NodeJs throws 500(使用mysql2和NodeJS的大容量插入抛出500)
Flask + PyMySQL giving error no attribute #39;settimeout#39;(FlASK+PyMySQL给出错误,没有属性#39;setTimeout#39;)
auto_increment column for a group of rows?(一组行的AUTO_INCREMENT列?)
Sort by ID DESC(按ID代码排序)