MySQL语句中的ŌĆ£set+0ŌĆØ是什么意思?
set+0将set值转换为整数。让我们通过创建一个表来看一个例子-
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语句中set+0的查询-
mysql> select TechnicalSkills+0 from SetZeroDemo;
下面是输出结果-
+-------------------+
| TechnicalSkills+0 |
+-------------------+
| 31 |
+-------------------+
1 row in set (0.00 sec)
现在,让我们看一下上面结果为31的原因。
它从0开始到插入值。在上面的表中,有5个单词,这意味着从2的零次幂开始到4(因为有5个单词),如下所示-
=20+21+22+23+24
=1+2+4+8+16
=15+16
=31
阅读更多:MySQL 教程