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
   -> );
Query OK, 0 rows affected (0.56 sec)

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

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

使用选择语句显示表中的所有记录。查询如下 -

mysql> select *from SetZeroDemo;

以下是输出 -

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

以下是 MySQL 语句中 set+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

更新于: 30-Jul-2019

65 次浏览

启动你的 职业

完成课程,获得认证

开始
广告