首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL -SUM(字符串值)的实际作用是什么?

MySQL -SUM(字符串值)的实际作用是什么?
EN

Stack Overflow用户
提问于 2021-02-19 22:02:02
回答 1查看 53关注 0票数 2

我想弄清楚MySQL是如何处理SUM()函数中的字符串的。诚然,这可能不是故意的,但我有学生问我,MySQL在做什么,为什么它提供一个有效的答案(尽管它可能没有任何意义)而不是一个错误。

例如,以下是一些示例数据:

代码语言:javascript
复制
 DROP TABLE IF EXISTS my_table;

CREATE TABLE my_table (my_string VARCHAR(20));

INSERT INTO my_table VALUES
('1 thing'),
('2 things'),
('three things'),
('4 things'),
('five things'),
('six things');

查询

代码语言:javascript
复制
SELECT SUM(my_string) FROM my_table;

收益率

代码语言:javascript
复制
+----------------+
| SUM(my_string) |
+----------------+
|              7 |
+----------------+

我在参考手册中找不到任何讨论这一点的内容。

有人知道为什么这个查询会产生这些结果而不是错误吗?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-19 22:37:10

这个问题可以看作是mysql SUM of VARCHAR fields without using CAST的复制品

具体地说,字符串'10% Happier‘被转换为10,每隔一个字符串被转换为0,因此sum()sum()为10。

编辑以跟随问题的编辑:

代码语言:javascript
复制
('1 thing'), becomes 1
('2 things'), becomes 2
('three things'), becomes 0
('4 things'), becomes 4
('five things'), becomes 0
('six things'); becomes 0

1+2+0+4+0+0 = 7。

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

https://stackoverflow.com/questions/66279022

复制
相关文章

相似问题

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