首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sql中的case语句问题

sql中的case语句问题
EN

Stack Overflow用户
提问于 2011-10-08 12:45:40
回答 1查看 79关注 0票数 0

我在sql查询中编写了一个小的case语句,如下所示:

代码语言:javascript
复制
 SELECT [##OT_NET_EQUATIONS_RHS_IDS].SYS_ID,
        [##OT_NET_EQUATIONS_RHS_IDS].NODE_ID,
        [##OT_NET_EQUATIONS_RHS_IDS].NODE_EQ_NO, 
        [##OT_NET_EQUATIONS_RHS_IDS].EQ_TYPE,
        CASE EQ_TP_OFFSET
          WHEN 'MULTIPLE' THEN '1'
          WHEN 'SINGLE' THEN '0'
        END AS EQ_TP_OFFSET,
        [##OT_NET_EQUATIONS_RHS_IDS].VAR_NAME,
        [##OT_NET_EQUATIONS_RHS_IDS].VAR_SET,
        [##OT_NET_EQUATIONS_RHS_IDS].VAR_SUBSET, 
        [##OT_NET_EQUATIONS_RHS_IDS].RHS_NODE_ID, 
        [##OT_NET_EQUATIONS_RHS_IDS].RHS_NODE_VAR_ID,
        CASE RHS_RELN
          WHEN 'EQ' THEN '0'
          WHEN 'LE' THEN '1'
          WHEN 'GE' THEN '2'
          WHEN 'MIN' THEN '3'
          WHEN 'MAX' THEN '4'
        END AS RHS_RELN,
        [##OT_NET_EQUATIONS_RHS_IDS].RHS_OBJECT,
        [##OT_NET_EQUATIONS_RHS_IDS].RHS_VAR_TYPE,
        [##OT_NET_EQUATIONS_RHS_IDS].RHS_TP_OFFSET,
        [##OT_NET_EQUATIONS_RHS_IDS].TIME_PRD,
        [##OT_NET_EQUATIONS_RHS_IDS].RHS_VALUE,  
        [##OT_NET_EQUATIONS_RHS_IDS].SUB_NET_ID, 
        CASE RHS_OBJECT
          WHEN 'OBJECTIVE' THEN 'OBJECTIVE'
        END AS FUNC_NAME 
   FROM ##OT_NET_EQUATIONS_RHS_IDS;

我收到错误,无法将变量字符值'multiple‘转换为数据类型int...any帮助。?我不确定为什么我会得到这个错误,尽管我已经放了一个'‘。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-08 12:50:57

我猜EQ_TP_OFFSET是一个int,所以当Sql Server计算CASE时,它会尝试将'MULTIPLEEQ_TP_OFFSET的值进行比较,但无法将其转换为int

再看一遍,我在想,也许EQ_TP_OFFSET是一个int,您的意思是编写case以选择一个比10更有意义的值。也许它应该是另一种方式?

代码语言:javascript
复制
CASE EQ_TP_OFFSET 
    WHEN 1 THEN 'MULTIPLE'  
    WHEN 0 THEN 'SINGLE' 
END AS EQ_TP_OFFSET

RHS_RELN也是如此。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7694879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档