在sql server中Replace關(guān)鍵字主要是用來(lái)將字符串中的某個(gè)字符替換成別的字符,今天要逆向思維,它還可以用來(lái)查詢(xún)是否包含某個(gè)特定字符串,例如給定下面數(shù)據(jù)集
期望從這個(gè)數(shù)據(jù)集中獲取包含“aaa”字符的記錄,注意第2條數(shù)據(jù)不是包含“aaa”,而是包含“aaaa”。期望的”“結(jié)果如下:
傳統(tǒng)的思維肯定是想如何查出包含有3個(gè)a的字符串,有的人會(huì)像用like,但這樣會(huì)連同4個(gè)a也查出來(lái)。這里我們就思考用Replace替換掉字符串中的“aaa”,如果能夠替換掉,那就證明該字符串中含有這個(gè)字符,替換掉了以后肯定和原字符串不一樣,因此有了下面的SQL出爐。
復(fù)制代碼 代碼如下:
SELECT * FROM [master].[dbo].[Table_5]
WHERE REPLACE(','+strNum+',', ',aaa,', '') > ','+strNum+','
您可能感興趣的文章:- sqlserver replace函數(shù) 批量替換數(shù)據(jù)庫(kù)中指定字段內(nèi)指定字符串參考方法