mysql - 如何在 MySql 中选择带有转义撇号的值?

标签 mysql escaping

我的表中有以下值:

当我不知道该做什么时

注意撇号已经被转义了。现在我想使用以下 SQL 字符串从此表中选择该值:

SELECT * FROM wp_wpsc_productmeta WHERE meta_value = '当我不知道该做什么时'

我返回了 0 行。当我将 SQL 字符串更改为:

SELECT * FROM wp_wpsc_productmeta WHERE meta_value LIKE 'When I Don%'

我得到了正确的结果集。所以,我的问题是,如何编写 SQL 字符串,以便在该值中包含已经转义的撇号时,我可以从表中选择一个值?

请不要回答我应该使用参数。我非常想用我正在尝试的方法找出答案。感谢您的帮助!

最佳答案

如果数据库中的字符串实际上是“When I Don\'t Know What To Do”,包含反斜杠,那么要搜索它,您需要使用语句。

SELECT * FROM wp_wpsc_productmeta WHERE meta_value = 'When I Don\\'t Know What To Do'
或者
SELECT * FROM wp_wpsc_productmeta WHERE meta_value = '当我不知道该做什么时'

关于mysql - 如何在 MySql 中选择带有转义撇号的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4898941/

相关文章:

php - 如何使用 PHP Gantti 在同一标签中添加两个日期间隔

cocoa - 如何转义 NSString 中的 unicode 字符?

php - 为什么 PDO 比 mysql_real_escape_string 更适合转义 MySQL 查询/查询字符串?

python - 在 Python 中转义 HTML

java - 我在哪里可以找到 ESAPI.properties?

c# - 存储过程的执行未运行

mysql - Discord.js 和 mysql 检查新的数据库条目并输出它们?

mysql - 根据最早日期更新所有记录

mysql - SQL 查询 : Copy all rows with Store_ID = 1

javascript - 防止node-oracledb中的SQL注入(inject)