首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个mysql查询以字符串的形式返回一个整数?

为什么这个mysql查询以字符串的形式返回一个整数?
EN

Stack Overflow用户
提问于 2022-02-04 14:22:46
回答 1查看 56关注 0票数 -2

我目前正在LeetCode上练习LeetCode。我已收到以下资料:

ID是此表的主键列。此表的每一行都包含有关员工薪资的信息。编写SQL查询,从Employee表中报告第二高薪资。如果没有第二个最高薪资,则查询应报告null。

我创建了以下查询:

代码语言:javascript
复制
SELECT IF((SELECT count(*) FROM employee) = 1, 'null', salary) as SecondHighestSalary
FROM Employee
LIMIT 1 OFFSET 1

它给出了请求的答案,只不过输出是以字符串的形式给出的。例如,如果薪资列由值100、200和300组成。我的查询输出" 200“而不是200。当我删除IF-语句并只提取第二个薪水时,它返回整数200。

当我使用IF语句时,为什么MySQL以字符串的形式返回一个整数?

EN

回答 1

Stack Overflow用户

发布于 2022-02-04 14:32:14

您在'null'中使用了IF,这是一个字符串,根据MySQL文档,输出的类型将是一个字符串。您应该在您的NULL中使用IF

代码语言:javascript
复制
SELECT IF((SELECT count(*) FROM employee) = 1, NULL, salary) ....
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70987909

复制
相关文章

相似问题

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