【问题标题】:How to use the LIKE statement correctly in a MySql SELECT statement?如何在 MySql SELECT 语句中正确使用 LIKE 语句?
【发布时间】:2009-06-12 07:03:12
【问题描述】:

为什么这不起作用?

DELIMITER ;//

CREATE PROCEDURE `blah`
(
  SearchText varchar(4000)
)
BEGIN
  SELECT *
  FROM table_name
  WHERE table_name.StringField LIKE '%' + SearchText + '%'; -- This is where the code is breaking
END;//

【问题讨论】:

  • 你试过引用类似的东西吗? '\'%' + 搜索文本 + '%\''

标签: mysql sql wildcard sql-like


【解决方案1】:

尝试使用:

CONCAT('%', SearchText ,'%')

【讨论】:

  • +1 MySQL 不支持“+”作为字符串连接运算符。这是 Microsoft/Sybase 的事情。
  • 确实如此。 SQL 标准还定义了 ||字符串(和位串)连接的运算符,这是我习惯看到它完成的方式。
  • 太棒了。是的,我来自 MSSQL 背景,所以我认为这是理所当然的。一旦我完成了这个项目,我将创建一个 wiki 条目“将 MSSQL 转换为 MySQL 时你应该知道的 20 件事”
猜你喜欢
  • 1970-01-01
  • 2017-12-12
  • 1970-01-01
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 1970-01-01
  • 2015-09-17
相关资源
最近更新 更多