首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MSSQL -在ORDER子句中的CASE语句是否返回列序号?

MSSQL -在ORDER子句中的CASE语句是否返回列序号?
EN

Stack Overflow用户
提问于 2017-01-31 17:54:56
回答 4查看 482关注 0票数 3

我在这里遇到了一个建议(SQL: ORDER BY using a substring within a specific column... possible?),它显示了一个CASE语句,它在一个包含4列的表中返回ORDER子句中的整数。

代码语言:javascript
运行
复制
SELECT npID, title, URL, issue
FROM   tbl
ORDER  BY substring(issue, 1, 4) DESC
      ,CASE 
          WHEN substring(issue, 6, 100) IN ('Winter','First_Quarter')  THEN 1
          WHEN substring(issue, 6, 100) IN ('Summer','Second_Quarter') THEN 2
          WHEN substring(issue, 6, 100) IN ('Spring','Third_Quarter')  THEN 3
          WHEN substring(issue, 6, 100) IN ('Fall',  'Fourth Quarter') THEN 4
          ELSE 5 
       END;

我不明白这是如何运作的。显然,从大小写中得到的整数不是列序数(例如,其他5,因为表只有4列)。但是他们的意思是什么呢?(然而,文章中给出的例子很管用,所以我真的很困惑。)有人能解释一下在ORDER子句中在CASE语句中返回整数意味着什么吗?谢谢。

EN

Stack Overflow用户

发布于 2017-01-31 18:00:58

在ORDER子句中的CASE语句是否返回列序号?

不是的。

下面的语句更改仅在该列中显示值的顺序。

代码语言:javascript
运行
复制
CASE 
          WHEN substring(issue, 6, 100) IN ('Winter','First_Quarter')  THEN 1
          WHEN substring(issue, 6, 100) IN ('Summer','Second_Quarter') THEN 2
          WHEN substring(issue, 6, 100) IN ('Spring','Third_Quarter')  THEN 3
          WHEN substring(issue, 6, 100) IN ('Fall',  'Fourth Quarter') THEN 4
          ELSE 5 
       END;*emphasized text*
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41964316

复制
相关文章

相似问题

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