-1

据我在网上找到的声明

SELECT DATEPART(MONTH,columnName),DATEPART(YEAR,columnName)

这样做并在 2 列中列出结果。我需要的是在单列中以 mm/yyyy 格式显示来自数据库(MS SQL)的日期。

有没有办法在一列中显示它?

4

3 回答 3

1
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;
于 2012-04-23T16:13:16.863 回答
1

由于您明确要求 a GridView,因此最好在最后一个位置格式化日期时间。所以我建议使用 .NET 方法作为String.Formator 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>
于 2012-04-23T16:12:28.223 回答
0

嘿,您可以在 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>
于 2012-04-23T16:18:34.963 回答