gpt4 book ai didi

sql - 在 SQL 中打破参数并进行搜索

转载 作者:行者123 更新时间:2023-12-04 20:19:31 25 4
gpt4 key购买 nike

基本上我有一个字符串被传递给一个变量..说

@MyParameter =     "Flower Beer Dog" 

所以我想做的是找到所有包含“Flower”、“Beer”或“Dog”的记录

有点像如果我说

select * from myTable where myColumn = 'Flower' or myColumn = 'Beer' or myColumn = 'Dog'

但问题是我在 @MyParameter 中获取它,但我不确定如何拆分它并将其转换为上面的查询

最佳答案

这会返回一个表格,该表格将您的分隔字符串显示为单独的字段。即:“花啤酒狗”变成

啤酒

该函数使用逗号而不是空格来分隔,但您可以根据需要更改该部分。

CREATE Function [dbo].[ParseStringList]  (@StringArray nvarchar(max) )  
Returns @tbl_string Table (ParsedString nvarchar(max)) As

BEGIN

DECLARE @end Int,
@start Int

SET @stringArray = @StringArray + ','
SET @start=1
SET @end=1

WHILE @end<Len(@StringArray)
BEGIN
SET @end = CharIndex(',', @StringArray, @end)
INSERT INTO @tbl_string
SELECT
Substring(@StringArray, @start, @end-@start)

SET @start=@end+1
SET @end = @end+1
END

RETURN
END

然后你像这样使用它:

SELECT * 
FROM table
WHERE searchfield In (Select ParsedString From dbo.ParseStringList(@StringArray))

关于sql - 在 SQL 中打破参数并进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6918103/

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