在搜索

时间:2017-12-19 03:41:53

标签: sql sql-server oledb ado

要提高数据库中的搜索速度,我想做类似的事情:

如果字段TheFieldName(没有任何空格)与测试相等,则显示记录

我该怎么做?

这对我没有用:

"SELECT * FROM TheTableName WHERE REPLACE(TheFieldName, ' ', '')=test"

错误:表达式中未定义的函数'REPLACE'

2 个答案:

答案 0 :(得分:1)

我似乎不太可能在SQL Server(或几乎任何其他数据库)中都不知道replace()。但是,请检查以确保您使用的是您认为自己的数据库。

您的查询(如编写的那样)确实有错误 - 因为您似乎希望将test作为字符串。查询是否真的如下所示:

SELECT *
FROM TheTableName
WHERE REPLACE(TheFieldName, ' ', '') = 'test';

请注意'test'附近的引号。

答案 1 :(得分:0)

这应该有用。

"SELECT * FROM TheTableName WHERE rtrim(ltrim(TheFieldName))=test"