如何在 SSRS 报告中显示带有阿拉伯数字的日期
How to display date with Arabic numbers in SSRS reports
我需要在用 SSRS 开发的报告中用阿拉伯语显示数字。通过将 Language 属性 设置为 "ar-SA" 并将 NumeralVariant 设置为 3,我可以用阿拉伯语显示诸如 23000.00 之类的数字. 然而,这不适用于以 dd/MM/yyyy 格式显示日期的 TextBox。
感谢任何帮助。
似乎没有内置的方法来执行此操作,因此您必须在数据集查询中手动执行此操作。我建议同时返回 date
类型和您的阿拉伯语日期作为 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 报告中创建以下函数。
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"))
我需要在用 SSRS 开发的报告中用阿拉伯语显示数字。通过将 Language 属性 设置为 "ar-SA" 并将 NumeralVariant 设置为 3,我可以用阿拉伯语显示诸如 23000.00 之类的数字. 然而,这不适用于以 dd/MM/yyyy 格式显示日期的 TextBox。
感谢任何帮助。
似乎没有内置的方法来执行此操作,因此您必须在数据集查询中手动执行此操作。我建议同时返回 date
类型和您的阿拉伯语日期作为 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 报告中创建以下函数。
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"))