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

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
   -> );

使用插入命令在表中插入一些记录。查询如下 -

mysql> insert into SetZeroDemo(TechnicalSkills)
-> values('C,Spring Framework /Hibernate,Python,Django Framework,Core Java');

使用 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