千家信息网

mysql字符串连接问题分享

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本文主要给大家介绍mysql字符串连接问题分享,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。mysql> select * from my_tabl
千家信息网最后更新 2024年11月11日mysql字符串连接问题分享

本文主要给大家介绍mysql字符串连接问题分享,希望可以给大家补充和更新些知识,如有其它问题需要了解的可以持续在行业资讯里面关注我的更新文章的。

mysql> select * from my_table;+----+--------+------------+| id | mod_id | mod_name   |+----+--------+------------+|  1 |     20 | red        ||  2 |     20 | blue       ||  3 |     20 | pink       ||  4 |     21 | yellow     ||  5 |     21 | green      ||  6 |     21 | white      ||  7 |     21 | black      ||  8 |     30 | gray       ||  9 |     30 | purple     || 10 |     30 | pinkpurple || 11 |     30 | red purple |+----+--------+------------+11 rows in set (0.00 sec)

原始表数据。

mysql> select * from my_table where mod_name in ("red", 'blue', 'pink', 'purple');+----+--------+----------+| id | mod_id | mod_name |+----+--------+----------+|  1 |     20 | red      ||  2 |     20 | blue     ||  3 |     20 | pink     ||  9 |     30 | purple   |+----+--------+----------+4 rows in set (0.00 sec)

使用 where 条件查询匹配列表中的列。(正常查询)

mysql> select * from my_table where mod_name in ("red", 'blue', 'pink' 'purple');+----+--------+------------+| id | mod_id | mod_name   |+----+--------+------------+|  1 |     20 | red        ||  2 |     20 | blue       || 10 |     30 | pinkpurple |+----+--------+------------+3 rows in set (0.00 sec)

注意最后一组值,('pink' 'purple') 中间少了个逗号,那么查询出来的结果,默认会解释为 'pinkpurple' 字符串。

mysql> select * from my_table where mod_name = ('pink' 'purple');+----+--------+------------+| id | mod_id | mod_name   |+----+--------+------------+| 10 |     30 | pinkpurple |+----+--------+------------+1 row in set (0.00 sec)使用 = 符号条件精确查询,仍然解释为 两个字符串的连接结果。mysql> select * from my_table where mod_name = 'pink' 'purple';+----+--------+------------+| id | mod_id | mod_name   |+----+--------+------------+| 10 |     30 | pinkpurple |+----+--------+------------+1 row in set (0.00 sec)使用 = 符号条件精确查询,取消掉括弧,仍然解释为 两个字符串的连接结果。mysql> select * from my_table where mod_name = '' 'purple';+----+--------+----------+| id | mod_id | mod_name |+----+--------+----------+|  9 |     30 | purple   |+----+--------+----------+1 row in set (0.00 sec)头一个字符串为0长度字符串,那么合并即等于 purple 字符串。mysql> select * from my_table where mod_name = 'red'' ' 'purple';Empty set (0.00 sec)写三个字符串,其中第一个字符串的单引号和第二个字符串的单引号中间没有空格,那么解释为未知字符。。。。。mysql> select * from my_table where mod_name = 'red' ' ' 'purple'; +----+--------+------------+| id | mod_id | mod_name   |+----+--------+------------+| 11 |     30 | red purple |+----+--------+------------+1 row in set (0.00 sec) 'red' ' ' 'purple' ,每一组字符串用空格隔开,那么就合并为   red purple 字符串。

看了以上关于mysql字符串连接问题分享,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

0