MySQL 若字符串所在位置全部为 NULL,MAKE_SET() 函数会返回什么

MySQL 若字符串所在位置全部为 NULL,MAKE_SET() 函数会返回什么

在本文中,我们将介绍MySQL中的MAKE_SET()函数以及当字符串所在位置全部为NULL时,该函数会返回什么。

阅读更多:MySQL 教程

MAKE_SET()函数简介

MAKE_SET()是MySQL中的一个字符串函数,它用于将多个位设置为一个字符串,并返回表示这些位的字符串。它的语法如下:

MAKE_SET(bits, str1, str2, ...)

其中,bits是一个整数值,表示用来设置的位。对应的字符串可以有多个,分别表示每个位的字符串值。函数会根据每个位的值进行组合,并返回一个包含这些字符串的结果。

MAKE_SET()函数使用示例

让我们通过一个例子来看看MAKE_SET()函数的具体用法。假设我们有一张名为student的表,包含了学生的ID和性别信息。

CREATE TABLE student (
   id INT AUTO_INCREMENT PRIMARY KEY,
   gender TINYINT
);

我们可以使用以下的INSERT语句向表中插入数据:

INSERT INTO student (gender) VALUES (3), (1), (2), (NULL);

现在,我们希望查询学生的性别信息,并将结果以字符串的形式返回。我们可以使用MAKE_SET()函数来实现这个需求。

SELECT id, MAKE_SET(gender, '女', '男') AS gender FROM student;

上述查询将返回以下结果:

+----+--------+
| id | gender |
+----+--------+
|  1 |  女    |
|  2 |  男    |
|  3 |  女    |
|  4 |  NULL  |
+----+--------+

在这个例子中,我们将学生表中的gender字段传递给MAKE_SET()函数。当gender的值为1时,函数返回’女’,为2时返回’男’。因此,查询结果中的gender列显示了相应的性别信息。

MAKE_SET()函数当字符串位置全部为NULL时的返回值

现在我们来讨论当字符串位置全部为NULL时,MAKE_SET()函数会返回什么。假设我们有如下的查询:

SELECT id, MAKE_SET(NULL, 'A', 'B', 'C') AS result FROM student;

查询结果如下所示:

+----+--------+
| id | result |
+----+--------+
|  1 | NULL   |
|  2 | NULL   |
|  3 | NULL   |
|  4 | NULL   |
+----+--------+

可以看到,当所有的字符串位置都为NULL时,MAKE_SET()函数会返回NULL。

这是因为在MYSQL中,对于未定义的或为NULL的参数,大多数函数都会返回NULL。在MAKE_SET()函数的情况下,当所有字符串位置都为NULL时,没有字符串可显示,因此返回NULL。

总结

本文介绍了MYSQL中的MAKE_SET()函数及其使用方法。这个函数可以将多个位设置为一个字符串,根据每个位的值进行组合,并返回一个包含这些字符串的结果。当所有字符串位置都为NULL时,则函数会返回NULL。通过对这个函数的了解,我们可以更灵活地处理字符串的组合和显示。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程