據我網對發現的聲明如何在mm/yyyy格式的gridview列中顯示日期?
SELECT DATEPART(MONTH,columnName),DATEPART(YEAR,columnName)
做和2列,列出結果。我需要的是顯示日期從數據庫(MS SQL)在單個列的格式,如mm/yyyy。
有沒有辦法在一列顯示呢?
據我網對發現的聲明如何在mm/yyyy格式的gridview列中顯示日期?
SELECT DATEPART(MONTH,columnName),DATEPART(YEAR,columnName)
做和2列,列出結果。我需要的是顯示日期從數據庫(MS SQL)在單個列的格式,如mm/yyyy。
有沒有辦法在一列顯示呢?
既然你已經明確地提出了GridView
,它是在最後的地方格式化日期時間很好的做法。所以我會建議使用的.NET方法String.Format
或ToString
:
String formatted = date.ToString("MM-yyyy");
或者用BoundField
的DataFormatString
:
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataFormatString="{0:MM-yyyy}" DataField="DateField" HeaderText="Date" ReadOnly="True" />
</Columns>
</asp:GridView>
是「mm」還是「MM」?在SQL Server 2012版本的'FORMAT()'(它是從.NET版本派生的)中,'mm'給我幾分鐘,而不是幾個月。 – 2012-04-23 16:15:15
@AaronBertrand:正如我所指出的,我不會使用dbms格式化或轉換日期時間字段。因此上面是C#。也許他需要在程序的另一個地方使用日期時間,所以你通常需要轉換字符串。 – 2012-04-23 16:19:06
但在C#中'mm'確實是月份數而不是分鐘?我瞭解你對數據庫格式的反對意見,但有時它是合適的(例如,考慮同一查詢的多個消費者,用不同語言編寫並由不同團隊維護)。 – 2012-04-23 16:21:20
SELECT RIGHT('0' + CONVERT(VARCHAR(2), MONTH(columnName)), 2)
+ '/' + CONVERT(CHAR(4), YEAR(columnName))
FROM dbo.tableName;
你也可以這樣說:
SELECT RIGHT(CONVERT(CHAR(10), columnName, 103), 7)
FROM dbo.tableName;
在SQL Server 2012中,你將能夠說:
SELECT FORMAT(columnName, 'MM/yyyy') FROM dbo.table;
@Aron Bertrand, – black12 2012-04-23 19:54:50
嘿,你可以在GridView的設置格式類似下面
<asp:TemplateField >
<ItemTemplate>
<asp:Label Text='<%# Convert.ToDateTime(DataBinder.Eval(Container.DataItem, "Created_Date ")).ToString("mm-yyyy")%>'
ID="lblCreatedDate" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
你能否澄清一下,你的標題是「mm-yyyy」,但問題主體是「mm/yyyy」。這不是一個很大的區別,但我們希望答案是準確的,並反映你最終的結果。 – 2012-04-23 20:04:08
@ Aron,這是mm/yyyy。我用下面的語句解決了我的問題:SELECT RIGHT(CONVERT(VARCHAR(10),columnName,103),7)[DATE1] FROM tableName。我的項目要求是通過發送日期作爲參數來顯示存儲在MS SQL中的日期列。所以我以dd/MM/yyyy格式創建了組合框和存儲日期。使用上面寫的查詢和以這種格式填充的日期,我可以從應用程序中的數據庫中檢索結果,但是如果以MM/yyyy格式發送date作爲參數,我無法做到這一點。我很困惑,因爲我從所需的格式從SQL Server中檢索數據? – black12 2012-04-23 20:15:07
您需要將演示文稿與數據分開。例如,您應該以任何區域格式顯示日期,但您應該向SQL Server發送安全且明確的日期(例如YYYYMMDD)。當然,您的組合框控件可以幫助您規定您發送回SQL Server的字符串格式... – 2012-04-23 20:21:23