如何从数据库中获取数据时删除mysql中的换行符列

时间:2014-07-23 06:45:44

标签: mysql sql

例如在我的表单中,地址字段就在那里。它将存储在数据库的换行符中(如果我单击输入并在地址字段中添加文本)。现在我想搜索完整的地址搜索。结果将无法获取。我的查询就像这样

select * from contacts where address like '69 TEXT STREET,4th Floor boston 2TN'

我在stackoverflow中看到了一些帖子。我用来替换列中的换行符的是

REPLACE(REPLACE(address, '\r', ''), '\n', '')

如果我在我的查询中使用这样的数据,则不会检索

select * from contacts where REPLACE(REPLACE(address, '\r', ''), '\n', '') like '69 TEXT STREET,4th Floor boston 2TN'

我需要准确的搜索结果。谢谢提前

2 个答案:

答案 0 :(得分:1)

您应该用空格替换换行符,而不是空字符串

REPLACE(REPLACE(address, '\r\n', ' '), '\n', ' ')

因为如果用户输入

1 Microsoft Way
Redmont

然后搜索

1 Microsoft Way Redmont

你使用她使用换行的空间。此外,您可能应该从查询和数据库中删除所有逗号等,以匹配

1 Microsoft Way, Redmont

答案 1 :(得分:0)

尝试使用'%搜索项%'这样.. ..

从联系人中选择*替换(替换(地址,' \ r',''),' \ n','&# 39;)喜欢'%69 TEXT STREET,4楼波士顿2TN%'