在IN附近出现错误,这是我的代码
DECLARE @DateFrom DateTime ='2018-04-01',
@DateTo DateTime = '2018-05-31'
WHILE @DateTo < @DateFrom
BEGIN
set @DateFrom = DATEADD(D,1,@DateFrom)
SET @DateFrom = DATENAME(DW, @DateFrom) IN ( 'tuesday','friday',null)
END
我收到类似的错误
关键字“ IN”附近的语法不正确。
最佳答案
如果这确实是mysql,则会出现很多错误1)您无需声明@变量2)要使用set语句为变量分配值,或者如果它是已声明的变量,则可以默认为值3)语句语法不正确应该在某件事发生时...结束时4)每个语句都必须终止5)多代码过程必须包含在BEGIN..END块中5)此代码必须在存储的程序(过程,触发器,函数)中6 )分隔符可能未设置。
这至少是语法,但是我不了解您要使用in语句做什么。
drop procedure if exists p;
delimiter $$
create procedure p()
begin
set @DateFrom ='2018-04-01',
@DateTo = '2018-05-31';
WHILE @DateTo < @DateFrom do
set @DateFrom = DATEADD(D,1,@DateFrom);
SET @DateFrom = DATENAME(DW, @DateFrom) IN ( 'tuesday','friday',null);
END while;
end $$
delimiter ;