我有一个选择查询。
SELECT
NEXT_SUN = DATEADD(day, (8 + @@DATEFIRST - DATEPART(dw, '2016-11-22 10:38:34.260')) % 7, '2016-11-22 10:38:34.260' )
从这个查询我想只选择日期
答案 0 :(得分:2)
您可以尝试将CONVERT
与DATE
选项一起使用。
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)
只需使用date
或datetime
功能将其从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)