仅从 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
相关文章