我想知道是否可以在REPLACE()
谓词中使用CONTAINS
。
例如,我知道我是否使用:
SELECT * FROM table WHERE CONTAINS(column, 'searchWord')
没有任何问题;但是,如果我使用:
SELECT * FROM table WHERE CONTAINS(REPLACE(column, 'oldPhrase', 'newPhrase'), 'searchWord')
它会给我一个错误,因为它需要一个列而不是一个字符串。如果没有办法做到这一点,那么最好的替代方案是什么?
答案 0 :(得分:1)
你尝试过CTE吗?
WITH r AS (
SELECT column0, column1, column2,
REPLACE(column, 'oldPhrase', 'newPhrase') col
FROM table
)
SELECT *
FROM r
WHERE CONTAINS(col, 'searchWord');