SQL Server 2012.

Muszę poszukać każdego ciągu, który ma następujący format: txxxxjsd gdzie xxxx jest zawsze algaryzmem. Pierwszy ZNAK może być dowolną LITERĄ (nigdy liczbą) i zawsze jest tylko JEDEN, jsd może być dowolną literą, ale nigdy numer. Tak więc sekwencja ciągu to: jedna litera, jeden algaryzm, jeden algaryzm, jeden algaryzm, jeden algaryzm, dowolna litera i po szóstym znaku może to być liczba (patrz przykłady poniżej).

Próbowałem z

select name
from table a
where name like  like '[a-z] + '[0-9]{4}' + '%'

Także z

select name
    from table a
    where name like  like '[a-z]' + '[0-9][0-9][0-9][0-9]' + '%'

Nie działa dla części po czwartym algaryzmie.

Przykłady:

s4567tty ---->   this should appear in the result
s45677ty ---->   this should NOT appear
r4546t656 --->   this should appear in the result
45656ty  ---->   this should NOT appear
0
graphene 23 listopad 2018, 19:24

1 odpowiedź

Najlepsza odpowiedź

Wydaje się, że chcesz:

where name like '[a-zA-Z][0-9][0-9][0-9][0-9][a-zA-Z]%'

Tu jest DB<>Skrzypce.

2
Gordon Linoff 23 listopad 2018, 19:32