【发布时间】:2016-04-16 17:14:16
【问题描述】:
我正在使用 SQL R2 2008。我正在尝试根据 YEAR、年份中的月份选择日期。我正在尝试在 nvarchar 中按年份分组。
我在 SQL 中的记录具有这样存储的日期格式 (dd/mm/yyyy hh:mm)
2015 年 10 月 11 日 10:01
借助 Stack 中的上一个问题 - How to Group by Year 我尝试了以下方法:
SELECT
T.[Date]
FROM (SELECT
CONVERT(varchar, CAST([U_DATE_TIME_VALUE] AS datetime), 3) AS [Date],
ROW_NUMBER() OVER (PARTITION BY YEAR(CAST([U_DATE_TIME_VALUE] AS datetime)) ORDER BY (SELECT
1)
) AS rn
FROM [FuelData]) AS T
WHERE T.rn = 1
ORDER BY T.[Date]
但我得到了下一年。
将 nvarchar 数据类型转换为 datetime 数据类型 导致超出范围的值。
- 我该如何解决这个问题?
- 如果我想从记录中单独选择年份和月份怎么办。 (即记录中仅 11/2015)。
有人可以帮助我吗?提前谢谢你。
【问题讨论】:
-
贴一些数据来了解更多。
-
@Ajay2707 我已经添加了数据库记录,请检查一下。
-
您也可以添加输出,以了解您的错误。抱歉迟到的评论
-
将 nvarchar 数据类型转换为 datetime 数据类型导致值超出范围。 - @Ajay2707
-
这是我得到的输出@Ajay2707
标签: sql sql-server sql-server-2008 date