0

我正在使用 SQL Server 2008 管理工作室。我的表中有一个datetime列。

当我选择表格的所有内容时,日期列的数据类似于10/10/2013 12:00:00 AM.

我需要一个查询来显示表中的所有内容,日期列数据为10/10/2013.

4

6 回答 6

5
SELECT CONVERT(VARCHAR(10), column, 101) -- u.s standard format mm/dd/yyyy
SELECT CONVERT(VARCHAR(10), column, 103) -- British/French standard format dd/mm/yyyy
于 2013-08-01T07:14:51.297 回答
5

试试这个(2008 年及更高版本)-

SELECT CAST('10/10/2013 12:00:00 AM' AS DATE)

2005 年 -

SELECT CAST('10/10/2013 12:00:00 AM' AS VARCHAR(10))

输出 -

10/10/2013
于 2013-08-01T07:06:36.393 回答
0

对于您的问题,我创建了一张表

 create table dateverify(date_v varchar(20));

插入的单列值

   declare @a varchar(20);
      set @a='10/10/2013';
   begin
      insert into dateverify(date_v) values(@a);
   end;

使用以下查询,

   SELECT CONVERT(VARCHAR(20), date_v , 103) AS [DD/MM/YYYY] from dateverify;

得到了你被问到的答案..10/10/2013

于 2013-08-01T07:25:52.663 回答
0

这将帮助你

cast(floor(cast(@dateVariable as float)) as datetime)
于 2013-08-01T07:03:32.097 回答
0

您可以使用FORMAT()功能:

SELECT FORMAT(<your_column>, 'MM/dd/YYYY') FROM <your_table>;
于 2013-08-01T07:02:09.157 回答
0

CONVERT函数与 DATETIME 的样式一起使用,您可以选择日期的显示方式。101 会给你mm/dd/yyyy, 103 =dd/mm/yyyy

SELECT CONVERT(NVARCHAR(20),your_datetime_col, 103) FROM your_table

SQLFiddle 演示

于 2013-08-01T07:11:34.693 回答