如何从DATETIME列获取DATE?

Res*_*hma 2 sql asp.net datetime sql-server-2005

我想从DateTime列获取日期.

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
SelectCommand="SELECT [name], [book_id], [book_name], [taken_date], [last_date], [renewed_date], [status], [comment], [fine_amount] FROM [library] WHERE ([admn_no] = @admn_no)">
<SelectParameters>
   <asp:ControlParameter ControlID="TextBox1" Name="admn_no" PropertyName="Text" 
   Type="String" />
</SelectParameters>
</asp:SqlDataSource>
Run Code Online (Sandbox Code Playgroud)

从以上这些 [taken_date],[last_date],[renewed_date] 列表示的日期和时间

(例如:) 4/14/2015 12:00:00 AM.

如何仅显示日期

(例如:)4/14/2015

Ame*_*nde 5

您可以使用 CAST(column_name AS DATE)Sql-server 2008及更高版本

SELECT [name], [book_id], [book_name], 
cast([taken_date] as date) as [taken_date], 
cast([last_date] as date) as [last_date], 
cast([renewed_date] as date) as [renewed_date], 
[status], [comment], [fine_amount] 
FROM [library] WHERE ([admn_no] = @admn_no)
Run Code Online (Sandbox Code Playgroud)

编辑1

对于sqlserver 2008之前的早期版本,你可以这样做

SELECT CONVERT(VARCHAR(10),GETDATE(),111)
Run Code Online (Sandbox Code Playgroud)

所以整个查询都会这样

SELECT [name], [book_id], [book_name], 
CONVERT(VARCHAR(10),[taken_date],111) as [taken_date], 
CONVERT(VARCHAR(10),[last_date],111) as [last_date], 
CONVERT(VARCHAR(10),[renewed_date],111) as [renewed_date], 
[status], [comment], [fine_amount] 
FROM [library] WHERE ([admn_no] = @admn_no)
Run Code Online (Sandbox Code Playgroud)

编辑2

要格式化您的日期yyyy/dd/mm,dd/mm/yyyy您可以更改为101而不是111

SELECT CONVERT(VARCHAR(10),GETDATE(),101)
Run Code Online (Sandbox Code Playgroud)

所以查询将是

SELECT [name], [book_id], [book_name], 
CONVERT(VARCHAR(10),[taken_date],101) as [taken_date], 
CONVERT(VARCHAR(10),[last_date],101) as [last_date], 
CONVERT(VARCHAR(10),[renewed_date],101) as [renewed_date], 
[status], [comment], [fine_amount] 
FROM [library] WHERE ([admn_no] = @admn_no)
Run Code Online (Sandbox Code Playgroud)