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
广告