mysql - SQL Select - 搜索词包含 '.'

标签 mysql sql

我正在尝试对看起来有点像这样的表执行 MySQL SELECT 查询:

-------------------------------
|  id  |  domain      | etc...
|------+--------------+--------
|  1   |  dev.howmuch |
|------+--------------+--------
|  2   |  devhowmuch  |

目前我只是想做简单的

SELECT * FROM `tbl_swad_apps` WHERE `domain` = 'devhowmuch'

效果很好,但是一旦我尝试了

SELECT * FROM `tbl_swad_apps` WHERE `domain` = 'dev.howmuch'

它没有返回任何结果,我的猜测是它试图将句号视为通配符或表引用(table.field)。

我怎样才能让它纯粹以字符串形式进行查询?谢谢

编辑: 我很感谢大家的帮助,但这些都不起作用: 没有尾随或前导空格。如果我尝试 LIKE '%howmuch%' 两个结果都会出现,如果我尝试 LIKE '%.howmuch%' 什么都不会出现。

请求的十六进制(域)结果:

1 dev.howmuch 646576A9686F776D756368
2 devhowmuch 646576686F776D756368

最佳答案

单元格包含:

d  e  v  .  h  o  w  m  u  c  h
64 65 76 A9 68 6F 77 6D 75 63 68

Full stop可能应该是 2E(它是一个 7 位 ASCII 字符,所以它在许多编码中都是相同的字节,包括 UTF-8):

mysql> SELECT HEX('.');
+----------+
| HEX('.') |
+----------+
| 2E       |
+----------+
1 row in set (0.00 sec)

但是你有 A9。这不是 7 位 ASCII 字符,我们不知道您的数据使用什么编码,所以我们无法判断它是什么(但它显然不是一个点)。在 ISO-8859-1 和 Windows-1252 中,它是版权符号 (©)。在 UTF-8 中,它是一个无效字符,通常显示为 REPLACEMENT CHARACTER (�) 受到许多客户的欢迎。

关于mysql - SQL Select - 搜索词包含 '.',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29949018/

相关文章:

c# - Entity Framework - 创建导航属性

php - CodeIgniter 中具有表关联的产品的颜色数组

mysql - MySQL如何更新同一个表中的字段值?

php - 我设置 PHP session 的方式是否存在安全问题?

mysql - 在终端上自动化 MySQL 脚本

sql - 甲骨文 ORA-00600

Mysql 行连接

MySQL正则表达式问题

mysql - 在 MySQL 中查询大量动态配置文件的最有效方法是什么?

mysql - 找出昨天和今天之间出勤率下降最大的 SQL