You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中如何检测两个字符串是否存在完全匹配的单词?

在SQL Server中检测两个字符串是否存在完全匹配的单词

需求说明:判断两个字符串是否包含至少一个完全匹配的独立单词。例如:

  • 字符串2:'Hello String How Are You'
  • 匹配场景:字符串1为'Hello How Am I String1',存在共同单词Hello,判定匹配
  • 不匹配场景:字符串1为'Am I String1',无共同单词,判定不匹配

方案一:使用STRING_SPLIT(SQL Server 2016及以上版本)

利用内置的STRING_SPLIT函数拆分字符串为单词列表,再检查是否存在交集:

DECLARE @Str1 NVARCHAR(MAX) = 'Hello How Am I String1';
DECLARE @Str2 NVARCHAR(MAX) = 'Hello String How Are You';

IF EXISTS (
    SELECT 1
    FROM STRING_SPLIT(@Str1, ' ') s1
    INNER JOIN STRING_SPLIT(@Str2, ' ') s2 
        ON s1.value = s2.value
    WHERE s1.value <> '' -- 过滤连续空格产生的空值
      AND s2.value <> ''
)
    SELECT '存在匹配单词' AS Result;
ELSE
    SELECT '无匹配单词' AS Result;

补充说明

  • 如果需要忽略大小写,可修改匹配条件:
    ON s1.value COLLATE SQL_Latin1_General_CP1_CI_AS = s2.value COLLATE SQL_Latin1_General_CP1_CI_AS
    
  • 若字符串包含其他分隔符(如逗号、制表符),只需替换STRING_SPLIT的第二个参数即可。

方案二:兼容低版本SQL Server(2016之前)

自定义字符串拆分函数,再进行匹配检测:

第一步:创建拆分函数

CREATE FUNCTION dbo.SplitString
(
    @Input NVARCHAR(MAX),
    @Delimiter CHAR(1)
)
RETURNS @Output TABLE (Value NVARCHAR(MAX))
AS
BEGIN
    DECLARE @StartIndex INT = 1;
    DECLARE @EndIndex INT;

    WHILE CHARINDEX(@Delimiter, @Input, @StartIndex) > 0
    BEGIN
        SET @EndIndex = CHARINDEX(@Delimiter, @Input, @StartIndex);
        INSERT INTO @Output (Value)
        SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - @StartIndex);
        SET @StartIndex = @EndIndex + 1;
    END

    INSERT INTO @Output (Value)
    SELECT SUBSTRING(@Input, @StartIndex, LEN(@Input) - @StartIndex + 1);

    RETURN;
END
GO

第二步:执行匹配检测

DECLARE @Str1 NVARCHAR(MAX) = 'Am I String1';
DECLARE @Str2 NVARCHAR(MAX) = 'Hello String How Are You';

IF EXISTS (
    SELECT 1
    FROM dbo.SplitString(@Str1, ' ') s1
    INNER JOIN dbo.SplitString(@Str2, ' ') s2 
        ON s1.Value = s2.Value
    WHERE s1.Value <> ''
      AND s2.Value <> ''
)
    SELECT '存在匹配单词' AS Result;
ELSE
    SELECT '无匹配单词' AS Result;

内容的提问来源于stack exchange,提问作者DRG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 11:25:30