Поиск нескольких слов в строке в SQL Server

0

Вопрос

У меня есть столбец текстовых расшифровок (строка) в таблице SQL Server, и мне нужно определить, содержит ли какая-либо из записей номер социального страхования (в этом столбце нет цифр, только текст, поэтому мне нужно указать цифры). Другими словами, мне нужно проверить, содержит ли какая-либо из строк какую-либо комбинацию из девяти цифр из десяти возможных цифр (одна, две, три, четыре, пять, шесть, семь, восемь, девять, ноль). Я могу быть в порядке с определением комбинации любых четырех цифр (последние четыре номера социального страхования).

Я пытался 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ý
..................................................................................................................

Популярное в этой категории

Популярные вопросы в этой категории