Reporting services 如何在SSRS报告中使用阿拉伯数字显示日期

Reporting services 如何在SSRS报告中使用阿拉伯数字显示日期,reporting-services,ssrs-2012,Reporting Services,Ssrs 2012,我需要在SSRS开发的报告中用阿拉伯语显示数字。通过将Language属性设置为“ar SA”并将numericanvariant设置为3,我能够以阿拉伯语显示23000.00等数字。但是,这不适用于以dd/MM/yyyy格式显示日期的文本框 谢谢你的帮助 似乎没有内置的方法来执行此操作,因此您必须在数据集查询中手动执行此操作。我建议同时返回日期类型和您的阿拉伯语日期作为nvarchar,以保留过滤功能和简化日期逻辑。如果您不想在所有日期都使用以下选项,您可以将替换逻辑包装成一个函数: decl

我需要在SSRS开发的报告中用阿拉伯语显示数字。通过将Language属性设置为“ar SA”并将numericanvariant设置为3,我能够以阿拉伯语显示23000.00等数字。但是,这不适用于以dd/MM/yyyy格式显示日期的文本框


谢谢你的帮助

似乎没有内置的方法来执行此操作,因此您必须在数据集查询中手动执行此操作。我建议同时返回
日期
类型和您的阿拉伯语日期作为
nvarchar
,以保留过滤功能和简化日期逻辑。如果您不想在所有日期都使用以下选项,您可以将替换逻辑包装成一个函数:

declare @d date = '20171231';

select @d as DateValue

    ,convert(nvarchar(10), @d,103) as StringValue

    ,replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(
        convert(nvarchar(10), @d,103)
        ,'0',N'٠')
        ,'1',N'١')
        ,'2',N'٢')
        ,'3',N'٣')
        ,'4',N'٤')
        ,'5',N'٥')
        ,'6',N'٦')
        ,'7',N'٧')
        ,'8',N'٨')
        ,'9',N'٩') as ArabicValue
输出:

+------------+-------------+-------------+
| DateValue  | StringValue | ArabicValue |
+------------+-------------+-------------+
| 2017-12-31 | 31/12/2017  | ٣١/١٢/٢٠١٧ |
+------------+-------------+-------------+

在SSRS报告中创建以下函数。

并使用下面的表达式在报告中使用


对于不熟悉阿拉伯语日期格式的用户,您期望的输出/格式是什么?我需要将2017年12月31日显示为٣١/٢٠/٠١٧
Public Function ToArabicNumber(input As String) As String
    Dim output As String

    output = input.Replace("1","١")
    output = output.Replace("2","٢")
    output = output.Replace("3","٣")
    output = output.Replace("4","٤")
    output = output.Replace("5","٥")
    output = output.Replace("6","٦")
    output = output.Replace("7","٧")
    output = output.Replace("8","٨")
    output = output.Replace("9","٩")
    output = output.Replace("0","٠")

    Return output
End Function
=Code.ToArabicNumber(Format(DateTime.Today,"dd/MM/yyyy"))