据我在网上找到的声明
SELECT DATEPART(MONTH,columnName),DATEPART(YEAR,columnName)
这样做并在 2 列中列出结果。我需要的是在单列中以 mm/yyyy 格式显示来自数据库(MS SQL)的日期。
有没有办法在一列中显示它?
据我在网上找到的声明
SELECT DATEPART(MONTH,columnName),DATEPART(YEAR,columnName)
这样做并在 2 列中列出结果。我需要的是在单列中以 mm/yyyy 格式显示来自数据库(MS SQL)的日期。
有没有办法在一列中显示它?
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;
由于您明确要求 a GridView
,因此最好在最后一个位置格式化日期时间。所以我建议使用 .NET 方法作为String.Format
or ToString
:
String formatted = date.ToString("MM-yyyy");
或使用BoundField
's DataFormatString
:
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataFormatString="{0:MM-yyyy}" DataField="DateField" HeaderText="Date" ReadOnly="True" />
</Columns>
</asp:GridView>
嘿,您可以在 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>