gpt4 book ai didi

SQL Server 包含

转载 作者:行者123 更新时间:2023-12-01 10:06:09 24 4
gpt4 key购买 nike

我需要匹配部分字符串,但无法打开全文索引,因此无法使用包含。我查看了用于确定两个字符串之间距离的 Levenstein 函数,但我不是在寻找模糊匹配,而是该列中的每个字符都存在于字符串中。

即如果传递的字符串类似于 AB_SYS_20120430.TXT,我想匹配任何包含 AB_SYS 的列。 like 谓词没有让我到达那里。我真的需要 .NET contains 功能的等价物,但如前所述,打开全文索引不是一个可以打开的选项。以为我会看看是否还有其他可能的解决方法。

最佳答案

您是否在寻找LIKE 函数?
http://www.w3schools.com/sql/sql_like.asp

... WHERE MyColumn LIKE '%AB_SYS%'

这可能不是最优的,但它似乎回答了您的问题...如果您可以仅从左侧或右侧进行搜索,则可以进一步优化。

这在功能上类似于 String.Contains
http://msdn.microsoft.com/en-us/library/dy85x1sa.aspx

编辑:您将如何将输入文本解析为“相关”子字符串?

编辑: 要搜索相同的 LIKE 条件但相反,从您的部分列到完整的文字,只需附加通配符:

... WHERE 'AB_SYS_20120430.TXT' LIKE '%' + MyColumn + '%'

编辑:您曾建议您无法让它工作。如果您添加模式来做您的问题,那么我可以进一步帮助您,但请考虑一下:

您有一个名为 MyTable 的表
在该表中有一个名为 MyColumn
的列该表中的某些行在 MyColumn 中有数据“AB_SYS”

给定参数“AB_SYS_20120430.TXT”,您希望返回所有匹配的行

CREATE PROCEDURE MyTestProcedure 
@pFullNameString nvarchar(4000) = '' -- parameter passed in, like AB_SYS_20120430.TXT
AS
BEGIN
SELECT
*
FROM
MyTable
WHERE
@pFullNameString LIKE '%' + MyTable.[MyColumn] + '%'
END
GO

关于SQL Server 包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10386141/

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