Vyhľadávanie viacerých slov v reťazec v SQL Server

0

Otázka

Mám textové prepisy (string) v stĺpci tabuľky v SQL Server a musím zistiť, či niektorý z evidencie, ktoré obsahuje číslo sociálneho zabezpečenia (č číslic v tomto stĺpci, iba text, takže musím upresniť číslic). Inými slovami, musím skontrolovať, či všetky struny obsahuje zmes deväť číslic, z desiatich možných číslic (jeden, dva, tri, štyri, päť, šesť, sedem, osem, deväť nula). Možno som v poriadku, identifikačné kombinácia všetkých štyroch číslic (posledné štyri číslo sociálneho zabezpečenia).

Snažil som sa Like '%one%' or Like '%two%' a tak ďalej, ale to len identifikuje jednotlivé slová. Musím nájsť aspoň všetky štyri v užitočnom v rovnaký reťazec.

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

Najlepšiu odpoveď

0

Môžete použiť súhrnné EXISTS s konštruované tabuľka slov

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
);

Mohli by ste zmeniť >= 4 na = 9 ak chcete získať presnú zhodu na množstvo slov

2021-11-24 09:58:35

V iných jazykoch

Táto stránka je v iných jazykoch

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