gpt4 book ai didi

mysql - 在 MySQL SELECT 中使用 REPLACE()

转载 作者:IT王子 更新时间:2023-10-29 00:27:57 28 4
gpt4 key购买 nike

我提前道歉,因为我问的是一个非常简单的问题。

我有一个 MySQL (5.5) 数据库,其中包括一个电话号码字段。我正在尝试创建一个语句来搜索该字段,删除所有空格。因此搜索“0208”将返回“020 8”、“02 08”、“0 208”、“0208”等。

这是在 Delphi XE2 中,以防有所不同。

'SELECT * FROM sales_ledger WHERE REPLACE(telephone, " ", "") LIKE "%' + SearchEdit.Text + '%"'

...给我一个错误...

Invalid filter in WHERE clause

...和...

'SELECT REPLACE(telephone, " ", "") FROM sales_ledger WHERE REPLACE(telephone, " ", "") LIKE "%' + SearchEdit.Text + '%"'

...给我...

Invalid field name. General SQL error. Column not found.

...实际上我确实需要返回所有字段。

我可以请求一些帮助来更正语法吗?如果您需要更多信息,请随时询问。非常感谢您的宝贵时间。

编辑:我错过了一条可能很重要的信息。该表实际上是我通过 ODBC 访问的 Sage 数据库。因为我尝试的任何事情都没有奏效,这很可能是根本问题。抱歉没有早点说。

最佳答案

您的查询似乎运行良好,请参阅 demo

首先向您的数据库客户端尝试此查询

SELECT * FROM sales_ledger 
WHERE REPLACE(telephone, " ", "") LIKE "%0208%"

编辑:

如果您的查询仍然无效。步步为营。

  • 尝试运行一个简单的选择查询(SELECT * FROM sales_ledger)
  • 如果第一个查询运行,请尝试添加简单的 where 条件。因此,您可以逐步使您的查询类似于原始查询,并找出实际错误来自哪里。

关于mysql - 在 MySQL SELECT 中使用 REPLACE(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14069109/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com