首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql修剪不适用于特定列的所有值

问Mysql修剪不适用于特定列的所有值
EN

Stack Overflow用户
提问于 2019-10-13 19:04:26
回答 1查看 182关注 0票数 0

我有一个表,其中一些值存储在关键字列中,但关键字列中的值包含额外的空格,而检索数据查询由于这些额外的空间而无法获取所有记录。我尝试在mysql中使用trim(),但它对我无效

预期输出: mysql查询应通过避免where条件后面的额外空格来获取所有记录。

表:

代码语言:javascript
复制
id  keyword    
1   some text for product  //here  single  space after 'some'
2   some   text for product  // here two space after 'some'

查询:

代码语言:javascript
复制
SELECT * FROM `table` where trim(keyword)='some text for product'

执行上述操作后,查询将只返回单个记录,而不是所有记录,因为列值中存在额外的空格。

EN

回答 1

Stack Overflow用户

发布于 2019-10-13 19:47:20

TRIM()删除字符串开头或结尾的空格。基本上,您希望将字符串中的双空格替换为单空格。您可以改用REPLACE():

代码语言:javascript
复制
SELECT * FROM `table` WHERE REPLACE(keyword, '  ', ' ') = 'some text for product'

代码语言:javascript
复制
WITH `table` AS (
      SELECT 'some text for product' keyword
      UNION ALL SELECT 'some  text for product' keyword
)
SELECT * FROM `table` WHERE REPLACE(keyword, '  ', ' ') = 'some text for product';

| keyword                |
| ---------------------- |
| some text for product  |
| some  text for product |
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58362929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档