如何从 DATETIME 列中获取日期?
How to get DATE from DATETIME column?
我想从 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>
从上面这些
[taken_date]
,[last_date]
,[renewed_date]
显示日期和时间的列
(eg: 4/14/2015 12:00:00 AM
).
如何只显示日期
(eg: 4/14/2015
)?
Sql-server 2008及以上版本
可以使用CAST(column_name AS DATE)
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)
编辑 1
对于 sqlserver 2008 之前的早期版本,您可以像
SELECT CONVERT(VARCHAR(10),GETDATE(),111)
所以整个查询会像这样
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)
编辑 2
要将日期格式从 yyyy/dd/mm
更改为 dd/mm/yyyy
,您可以更改为 101
而不是 111
SELECT CONVERT(VARCHAR(10),GETDATE(),101)
所以查询将是
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)
我想从 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>
从上面这些
[taken_date]
,[last_date]
,[renewed_date]
显示日期和时间的列
(eg:
4/14/2015 12:00:00 AM
).
如何只显示日期
(eg:
4/14/2015
)?
Sql-server 2008及以上版本
可以使用CAST(column_name AS DATE)
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)
编辑 1
对于 sqlserver 2008 之前的早期版本,您可以像
SELECT CONVERT(VARCHAR(10),GETDATE(),111)
所以整个查询会像这样
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)
编辑 2
要将日期格式从 yyyy/dd/mm
更改为 dd/mm/yyyy
,您可以更改为 101
而不是 111
SELECT CONVERT(VARCHAR(10),GETDATE(),101)
所以查询将是
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)