5.5.19都可以
试试用with 呢
with a as (
SELECT '北京' AS DW,50 AS Z
UNION ALL
SELECT '上海' AS DW,50 AS Z
SELECT '深圳' AS DW,50 AS Z
)
select * from a where DW='北京'
看一下你本地的mysql的字符集设置,是不是utf8?
MySQL字符集设置(详解MySQL数据库字符集的配置方法) - 老白网络 (yzktw.com.cn)
mysql字符集如何设置-mysql教程-PHP中文网
更改字符集为utf8mb4,你可以编辑MySQL服务器的配置文件 (my.cnf 或 my.ini),在 [mysqld] 部分添加以下配置:
[mysqld]
character_set_server = utf8mb4
跟这个字符集应该有关系 不用utfmb3
我也遇到了这个问题, union 或者union all 以后 where 涉及到中文的话 就不能用了 返回都是null, 我看了 字符集 和 排序规则都没问题, 我也是 同样的配置 同样的代码, 别人那就可以正常运行 我的就不行, 字符集和排序规则我们所有人都是一样的 就是 where 如果没涉及到 中文 就可以用 涉及到中文了就不能用了!! 但是 如果不用Where 直接用having 来筛选查询 就可以用 可以筛选 中文, 我真是见了鬼了 ! 哪位大神能解决!!!!