MySQL 语句中的"set+0"有什么作用?

mysqlmysqli database更新于 2025/5/23 1:16:17

set+0 将设置值转换为整数。让我们通过创建表来看一个例子 −

mysql> create table SetZeroDemo
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   -> TechnicalSkills set('C','Spring Framework /Hibernate','Python','Django Framework','Core Java') NOT NULL
   -> );
Query OK, 0 rows affected (0.56 sec)

使用 insert 命令在表中插入一些记录。 查询语句如下 −

mysql> insert into SetZeroDemo(TechnicalSkills)
-> values('C,Spring Framework /Hibernate,Python,Django Framework,Core Java');
Query OK, 1 row affected (0.20 sec)

使用 select 语句显示表中的所有记录。查询如下 −

mysql> select *from SetZeroDemo;

这是输出 −

+----+-----------------------------------------------------------------+
| Id | TechnicalSkills                                                 |
+----+-----------------------------------------------------------------+
| 1  | C,Spring Framework /Hibernate,Python,Django Framework,Core Java |
+----+-----------------------------------------------------------------+
1 row in set (0.00 sec)

这是在 MySQL 语句中设置 +0 的查询 −

mysql> select TechnicalSkills+0 from SetZeroDemo;

以下是输出 −

+-------------------+
| TechnicalSkills+0 |
+-------------------+
| 31                |
+-------------------+
1 row in set (0.00 sec)

现在,让我们看看上面的结果是如何变成 31 的。

它从 0 开始直到插入值。上表中有 5 个字,这意味着它从幂 0 开始到 4(因为有 5 个字),如下所示−

=20+21+22+23+24
=1+2+4+8+16
=15+16
=31

相关文章


有用资源