-1

私がネットで見つけた限り、声明

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

それを行い、結果を2列にリストします。私が必要とするのは、データベース (MS SQL) からの日付をmm/yyyy のような形式で単一の列に表示することです。

1列に表示する方法はありますか?

4

3 に答える 3

1

明示的にを要求したのでGridView、最後の場所で日時をフォーマットすることをお勧めします。したがって、.NETメソッドをString.Formatまたはとして使用することをお勧めします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 に答える
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 に答える
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 に答える