加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL,关键字“FROM”附近的CASE语句的语法不正确

发布时间:2021-03-31 08:26:03 所属栏目:MsSql教程 来源:网络整理
导读:我试图让下面的代码工作,单独的两个代码(在WHEN部分和ELSE部分)工作,但是当在这个CASE语句中使用时,我得到一个错误 “Incorrect syntax near ‘CAST’,expected ‘AS’.” error. 基本上如果WHEN语句代码等于或大于24,那么如果THEN语句的值低于24,则使用THEN

我试图让下面的代码工作,单独的两个代码(在WHEN部分和ELSE部分)工作,但是当在这个CASE语句中使用时,我得到一个错误

“Incorrect syntax near ‘CAST’,expected ‘AS’.” error.

基本上如果WHEN语句代码等于或大于24,那么如果THEN语句的值低于24,则使用THEN语句,然后使用ELSE语句.

在尝试几个小时之后,我似乎无法让这个工作有任何迹象表明我将出现错误的地方将不胜感激.

SELECT CASE 
        WHEN 
            (convert(float,datediff(mi,start_work,end_work))/60) >= '24'
        THEN
            (convert(float,end_work))/60)
        ELSE
            (CAST(convert(varchar(2),dateadd(minute,datediff(minute,start_time,end_time),0),114) 
            * 60 + RIGHT (convert(varchar(5),114),CASE WHEN CHARINDEX(':',convert(varchar(5),114)) > 0
            THEN LEN(convert(varchar(5),114))-3
            ELSE LEN(convert(varchar(5),114))
            END) AS decimal) / 60
FROM  NDB.dbo.statusa 
INNER JOIN NDB.dbo.details ON statusa.vkey = details.vkey
INNER JOIN NDB.dbo.chegu ON statusa.ckey = NDB.dbo.chegu.gkey
WHERE start_time!= end_time AND string1 = Visit_Id and NDB.dbo.chegu.name = 'loft'
     AS [Working]

解决方法

您需要关闭案例陈述
case when ... then ... else ... end

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读