SQL Server 格式化日期,按日历排序并用作SSRS参数

e7arh2l6  于 2023-01-20  发布在  其他
关注(0)|答案(2)|浏览(141)

我有一个DateTime字段,我想将其汇总并格式化为YYYY mmm,然后用作SSRS参数来过滤我的查询。
当我使用格式选项时,我返回的日期是按文本排序的。
1.小行星2022
1.二○二二年二月
1.小行星2022
1.小行星2022
Q2.我如何按日历排序,例如
1.小行星2022
1.二○二二年二月
1.小行星2022
1.小行星2022
问题3:如何在WHERE子句中使用这个参数的值来过滤日期?如果有人选择"2022 Mar",我只会得到DateTime字段包含March 2022的数据。

9gm1akwq

9gm1akwq1#

try_convert(date,...)将假定为该月的第1天(如果未指定日期

    • 示例**
Declare @YourTable Table ([SomeCol] varchar(50))
Insert Into @YourTable Values 
 ('2022 Apr')
,('2022 Feb')
,('2022 Jan')
,('2022 Mar')
 
Select *
  From @YourTable
  Order By try_convert(Date,SomeCol)
    • 结果**
SomeCol
2022 Jan
2022 Feb
2022 Mar
2022 Apr
mbskvtky

mbskvtky2#

您可以使用“ORDER BY”对其进行排序
例如:

CREATE TABLE #TEMP_DATES
(Month_Year Date)

INSERT INTO #TEMP_DATES
SELECT 
        '2022 APR',
        '2022 FEB',
        '2022 JAN'
        
SELECT * FROM #TEMP_DATES
ORDER BY Month_Year

相关问题