[英]Replace existing DATE format with another format in SSRS expression
我有一個表,該表的TEST列包含許多值:
測試
2014-04-02
2014-04-03
2014-04-04
WEEKLY TOTAL
PRIOR WEEK
12 WEEK
如何使用IIF
語句編寫表達式,以便如果該行包含日期,然后將日期更改為其他格式?
例如:
第一行為2014-04-02
(yyyy-mm-dd),應更改為02-Apr
(dd-mmm)。最后一行為12 week
,不應更改,因為它不是日期
解決方案1:
=iif(isDate(Fields!Test.Value)
,FORMAT(
CDATE(iif(isDate(Fields!Test.Value), Fields!Test.Value, Nothing))
, "dd-MMM"
)
,Fields!Test.Value)
解決方案2:
使用CASE WHEN
在SQL本身中處理它
如果您所有的日期都有一個“-”,並且您的文本都沒有一個“-”:
=IIF(Fields!TEST.Value like "*-*", FORMAT(CDATE(Fields!TEST.Value), "dd-MMM") ,Fields!TEST.value)
未經測試,但應該可以。 編輯以返回實際日期。
編輯:經過更多的實驗后,我發現您想要的結果將導致SSRS列的類型(日期/字符串)不一致,並且我認為不可能在字符串中同時包含字符串類型和日期類型同一列。
我的錯誤是不及早意識到這一點。
為了返回實際日期,您將需要清理/過濾數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.