如何处理 SSRS 报告中的英国日期格式字符串 (dd-mm-yyyy)?
How to handle UK date format string (dd-mm-yyyy) in SSRS report?
这应该是一个简单的问题,但令人惊讶的是我找不到有用的答案,所以请耐心等待。
所以我从 SQL 中获取日期字符串 (dd-mm-yyyy) 并且因为列是 nvarchar
所以我得到的是字符串数据类型。
我需要的是将其转换为日期数据类型,令人惊讶的是它比我在 SSRS 报告中想象的要难。似乎没有任何内置函数可以轻松处理 UK 格式日期字符串。
例如,如果我做 CDate("26/03/2018")
它会很好地转换,但如果我做 CDate("03/26/2018")
它会给我错误。
我目前的解决方案是转换 SQL 中的类型,但我不想处理 SQL 中的表示。
我尝试更改 SSRS 中的语言文化和日历,但 none 成功了。
在我看来,转换 SQL 中的日期是迄今为止最好的方法。人们对应该在表示层中放置什么感到困惑,但这无论如何都不是表示,您正在修改数据。
无论如何,如果你真的想在 SSRS 中这样做,你可以用这样的东西
=DateSerial(
RIGHT(Fields!myUKDate.Value,4),
MID(Fields!myUKDate.Value,4,2),
LEFT(Fields!myUKDate.Value,2)
)
这应该是一个简单的问题,但令人惊讶的是我找不到有用的答案,所以请耐心等待。
所以我从 SQL 中获取日期字符串 (dd-mm-yyyy) 并且因为列是 nvarchar
所以我得到的是字符串数据类型。
我需要的是将其转换为日期数据类型,令人惊讶的是它比我在 SSRS 报告中想象的要难。似乎没有任何内置函数可以轻松处理 UK 格式日期字符串。
例如,如果我做 CDate("26/03/2018")
它会很好地转换,但如果我做 CDate("03/26/2018")
它会给我错误。
我目前的解决方案是转换 SQL 中的类型,但我不想处理 SQL 中的表示。
我尝试更改 SSRS 中的语言文化和日历,但 none 成功了。
在我看来,转换 SQL 中的日期是迄今为止最好的方法。人们对应该在表示层中放置什么感到困惑,但这无论如何都不是表示,您正在修改数据。
无论如何,如果你真的想在 SSRS 中这样做,你可以用这样的东西
=DateSerial(
RIGHT(Fields!myUKDate.Value,4),
MID(Fields!myUKDate.Value,4,2),
LEFT(Fields!myUKDate.Value,2)
)