Getting only Month and Year from 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 仅获取月份和年份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:从 SQL DATE 仅获取月份和年份
基础教程推荐
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- oracle区分大小写的原因? 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 在多列上分布任意行 2021-01-01
