搜索多个字一个字符串中SQL服务器

0

的问题

我有一个文本(string)中的列表中SQL服务器和我需要确定如果任何的记录中包含社会安全号(没有数字在此列,只有案文,所以我需要拼出来的数字)。 换句话说,我需要检查是否任意字符串中包含的任何组合的九位数从十个可能的数字(一个、两个、三个、四个、五个、六、七、八、九、零)。 我可没有识别组合的任何四位数字(最后四个社会安全号码)。

我试过了 Like '%one%' or Like '%two%' 等等,但是,只有标识的单个词。 我需要找到至少四个在任何后果在同一串。

search sql sql-server tsql
2021-11-24 02:41:49
1

最好的答案

0

你可以使用的一个汇总 EXISTS 有一个构造表的话

SELECT *
FROM YourTable t
WHERE EXISTS (SELECT 1
    FROM (VALUES
        ('zero'),
        ('one'),
        ('two'),
        ('three'),
        ('four'),
        ('five'),
        ('six'),
        ('seven'),
        ('eight'),
        ('nine')
    ) v(word)
    WHERE t.YourColumn LIKE '%' + v.word + '%'
    HAVING COUNT(*) >= 4
);

你可以改变 >= 4= 9 得到完全匹配的数量的话

2021-11-24 09:58:35

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................