mysql - MySQL返回错误的结果
问题描述
我对 SELECT FROM WHERE 语句有疑问,它返回了不好的结果。
这是我的朋友表:
+----------+-----------+------------+--------+--------+-------+
| lastname | firstname | callprefix | phone | region | zip |
+----------+-----------+------------+--------+--------+-------+
| Lužný | Bob | 602 | 111222 | OL | 79821 |
| Matyáš | Bob | 773 | 123456 | BR | NULL |
| Strouhal | Fido | 300 | 343434 | ZL | 76701 |
| Přikryl | Tom | 581 | 010101 | PL | 72000 |
| Černý | Franta | 777 | 000999 | OL | 79801 |
| Zavadil | Olda | 911 | 111311 | OL | 79604 |
| Berka | Standa | 604 | 111234 | ZL | 72801 |
| Vlcik | BbB | 736 | 555444 | KV | 35210 |
+----------+-----------+------------+--------+--------+-------+
这是我的查询。
SELECT * FROM friends WHERE region <= 'z';
我希望区域 ZL 的行应该存在,但它们不是。你能告诉我为什么吗?
结果是:
+----------+-----------+------------+--------+--------+-------+
| lastname | firstname | callprefix | phone | region | zip |
+----------+-----------+------------+--------+--------+-------+
| Lužný | Bob | 602 | 111222 | OL | 79821 |
| Matyáš | Bob | 773 | 123456 | BR | NULL |
| Přikryl | Tom | 581 | 010101 | PL | 72000 |
| Černý | Franta | 777 | 000999 | OL | 79801 |
| Zavadil | Olda | 911 | 111311 | OL | 79604 |
| Vlcik | BbB | 736 | 555444 | KV | 35210 |
+----------+-----------+------------+--------+--------+-------+
当我尝试这个查询时:
SELECT * FROM friends WHERE region >= 'z';
结果包含 region = 'ZL' 的两行
???
谢谢!
解决方案
因为“ZL”大于“Z”。Z 只是一个字符,因此只会返回小于 Z 或 Z 值的值。你想用这个查询来实现什么?
推荐阅读
- r - 混合效应模型 (lme4) 的截距(随机斜率)的多个变量
- java - 使用 JSP 在 My SQL 中插入数据引发问题:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException
- r - 如何在数据帧 r 中查找特定行的索引
- asp.net-core - 从 appsettings.json 文件读取原始 URL 会导致错误请求
- javascript - Vue 组件道具未更新
- python-3.7 - 如何在同一行代码中使用字符串 (str) 和整数 (int)?
- jquery - 如何概括计算元素列表的代码?
- javascript - 如何在反应 js 组件中获取身份验证状态?
- firebase - 如何将云 Firestore 中的数据保存到 Flutter 中的变量中?
- javascript - 将多个 html5 生成的图像下载为 zip 文件