SQL查询 - 仅选择日期

时间:2016-11-22 06:02:28

标签: sql

我有一个选择查询。

SELECT 
    NEXT_SUN = DATEADD(day, (8  + @@DATEFIRST - DATEPART(dw, '2016-11-22 10:38:34.260')) % 7, '2016-11-22 10:38:34.260' )

从这个查询我想只选择日期

5 个答案:

答案 0 :(得分:2)

您可以尝试将CONVERTDATE选项一起使用。

SELECT NEXT_SUN = CONVERT(DATE,DATEADD(day, (8 + @@DATEFIRST - DATEPART(dw, '2016-11-22 10:38:34.260')) % 7, '2016-11-22 10:38:34.260' ))

您还可以使用Format()来获得所需的结果。如果您希望将返回值转换为varchar,也可以使用CONVERT执行此操作。有关详细信息,请参阅here

答案 1 :(得分:1)

只需使用datedatetime功能将其从convert转换为cast数据类型即可。

 SELECT NEXT_SUN = convert(date,DATEADD(day, (8  + @@DATEFIRST - DATEPART(dw,
                              '2016-11-22 10:38:34.260')) % 7, '2016-11-22 10:38:34.260' ))

答案 2 :(得分:1)

SELECT NEXT_SUN = CAST( DATEADD(day, (8  + @@DATEFIRST - DATEPART(dw, '2016-11-22 10:38:34.260')) % 7, '2016-11-22 10:38:34.260' ) AS DATE)

答案 3 :(得分:1)

您也可以尝试这一点,并在CONVERT函数

中按日期代码获取不同的格式
SELECT 
NEXT_SUN = CONVERT(VARCHAR(10),DATEADD(day, (8  + @@DATEFIRST - DATEPART(dw, '2016-11-22 10:38:34.260')) % 7, '2016-11-22 10:38:34.260'),101)

答案 4 :(得分:1)

尝试..

SELECT NEXT_SUN = CONVERT(VARCHAR(10),DATEADD(day, (8  + @@DATEFIRST - DATEPART(dw, '2016-11-22 10:38:34.260')) % 7, '2016-11-22 10:38:34.260'),101)