2014-05-24 286 views
3

我有一個SQL查詢:select ModifiedDate from Person.Person這返回日期2/24/1998 12:00:00 AM顯示日期報告

我試圖在SSRS報告MM/dd/yyyy格式來顯示這一點。我已經使用了表達=Format(Fields!ModifiedDate.Value,"MM/dd/yyyy")

但是,還是它的到來爲2/24/1998 12:00:00 AM

我想顯示此爲2/24/1998

我該怎麼做?

+1

所以找你詢問設定日期** MM-DD-YYYY **格式。那你爲什麼要把它格式化爲** MM/dd/yyyy **? – pedram

回答

1

如果要以'MM/DD/YYYY'格式獲取日期,請使用以下查詢並且必須在varchar數據類型中進行轉換。

select CONVERT(varchar(20),GETDATE(),101) 
+2

考慮改進你的答案添加一些解釋將有助於那些不只是尋找答案,但試圖理解它。 – Lankymart

6

我會建議使用格式代碼:

右鍵 - 在單元格,選擇格式屬性,單擊省略號「...」,你可以從那裏看到的日期格式。當你確定對話框時,這將被轉換成日期代碼。因爲它設置的日期在用戶希望看到它在fomat這是非常有用

要在數據中SSRS轉換,而不是數據源,你可以嘗試使用類似:

=Format(Cdate(Fields!SSS.Value),"dd/MM/yyyy") 

另一個樣本你不CDATE:

=Format(Fields!ModifiedDate.Value,"dd/MM/yyyy") 
0

我做了兩兩件事,使其工作:

月1日,在數據設置屬性查詢 - select CONVERT(varchar(20),ModifiedDate,101) from Person.Person

2日,在表達 - =Format(Fields!ModifiedDate.Value,"dd/MM/yyyy")

這個工作對me.Thanks的提示。

0

設置到該國的報告會的語言對整個報告的語言在運行。

例如美國是EN_US和澳大利亞是EN_AU。

簡單!

+0

我不明白爲什麼這會使SSRS從普通日期切換到短日期。 [編輯]解釋? –

+0

我相信這很有用,因爲它解決了美國和英國日期格式的問題。只需更改報告語言就意味着他可以在日期字段上使用.net日期格式'd'。 –

4

根據您的問題,

要轉換在SSRS你應該嘗試這樣的日期,

=FORMAT(Fields!ModifiedDate.Value,"MM-dd-yyyy") 

輸出會是這樣,

12-06-2010 -- 12(Month)-06(Date)-2010(Year) 
+0

工作像魅力。 –

4

有格式化特殊功能SSRS中的日期:

=FormatDateTime(Fields!ModifiedDate.Value, DateFormat.ShortDate) 

它會按照你想要的方式返回你的日期。

1

我有這個問題,我解決了這個代碼:

FormatDateTime('MM/dd/yyyy',ADOqueryname.fieldbyname('ModifiedDate').AsDateTime);