我遇到错误
')'附近的语法不正确
请找到我在这里运行的SQL查询-我无法找出错误所在。在SQL Server中,它指向最后一个结束括号。请帮忙。 正在编辑的sql现在给出另一个错误。 SELECT Crontaskname, 实例名称 时间表, 上一个 从(选择Crontaskname, 实例名称 时间表, 上一个 (当(((CASE(SUBSTRING(schedule,-(LEN(schedule)-(CHARINDEX(',',, schedule)-2)),1)) 当's'THEN lastrun +(1/86400 * SUBSTRING(schedule,0,(CHARINDEX(',',schedule)-2)))+ 0.2 当'm'THEN lastrun +(1/1440 * SUBSTRING(schedule,0,(CHARINDEX(',',schedule)-2)))+ 0.2 当'h'THEN lastrun +(1/24 * SUBSTRING(schedule,0,(CHARINDEX(',',schedule)-2))) 当'd'THEN lastrun + SUBSTRING(schedule,0,(CHARINDEX(',',schedule)-2)) 当'w'THEN lastrun +(7 * SUBSTRING(schedule,0,(CHARINDEX(',',schedule)-2))) 当'M'THEN DATEADD(MONTH,SUBSTRING(schedule,0,(CHARINDEX(',',schedule,',')-2)),lastrun) 当'y'THEN DATEADD(MONTH,12 *(SUBSTRING(schedule,0,(CHARINDEX(',',schedule,',')-2))),lastrun) END)-getdate())<0) 然后“坏” 其他“好” END)AS状态 FROM(选择crontaskname, 实例名称, 时间表, (选择lastrun 从任务计划程序AS B 在哪里B.taskname = ISNULL(A.crontaskname,'')+'。'+ ISNULL(A.instancename,'')作为lastrun 来自crontaskinstance AS A WHERE实例名称IN('SEQQOUT_SYS_11','SEQQOUT_SYS_21','SEQQOUT_SYS_12') AND活动= 1 AND crontaskname <>'REPORTSCHEDULE')AS X)AS Cron WHERE Status ='BAD';
答案 0 :(得分:0)
我发现了多个问题。
crontaskinstance
表上使用SELECT查询的表表达式)没有别名...如果给它命名别名,则似乎可以正确解析内容。sysdate
未知。就我所知...
正如@Larnu已经说过的那样……您确实需要格式化代码才能更快地获得这类错误。也许使用CTE也可能会有所帮助。
编辑:
我走得更远。出现错误“参数数据类型varchar对于charindex函数的参数3无效”。在这里,我放弃审查此查询。 ;)