gpt4 book ai didi

sql - 使用短语 SQL Server 查询搜索单词

转载 作者:太空狗 更新时间:2023-10-30 01:57:02 25 4
gpt4 key购买 nike

我想创建一个查询,它可以在我的“条件”中使用短语中的单词(就像谷歌那样)

例子:我的短语:“Foo Bar 测试”

我的数据库表:

|专栏|

'嗨吧'

'测试栏'

'你好'

'这里什么都没有'

'又是福'

我正在等待的结果:

|专栏|

'嗨吧'

'测试栏'

'你好'

'又是福'

最佳答案

任何拆分/解析函数都可以提供帮助

Declare @YourTable table (YourFieldName varchar(100))
Insert Into @YourTable values
('Hi Bar'),
('Test Ba'),
('Hi Foo'),
('Nothing here'),
('Foo again')

Declare @SearchString varchar(max) = 'Foo Bar Test'

Select A.*
From @YourTable A
Join [dbo].[udf-Str-Parse](@SearchString,' ') B
on Charindex(RetVal,YourFieldName)>0

返回

YourFieldName
Hi Foo
Foo again
Hi Bar
Test Ba

如果需要,UDF

CREATE FUNCTION [dbo].[udf-Str-Parse] (@String varchar(max),@Delimiter varchar(10))
Returns Table
As
Return (
Select RetSeq = Row_Number() over (Order By (Select null))
,RetVal = LTrim(RTrim(B.i.value('(./text())[1]', 'varchar(max)')))
From (Select x = Cast('<x>'+ Replace(@String,@Delimiter,'</x><x>')+'</x>' as xml).query('.')) as A
Cross Apply x.nodes('x') AS B(i)
);
--Select * from [dbo].[udf-Str-Parse]('Dog,Cat,House,Car',',')
--Select * from [dbo].[udf-Str-Parse]('John Cappelletti was here',' ')

关于sql - 使用短语 SQL Server 查询搜索单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40468503/

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