Wyszukiwanie MSSQL z literą na początku i w środku

0

Potrzebuję porady w sprawie wyszukiwania wszystkich CompanyName (baza Northwind) z pierwszą oraz środkową literą I , ostatnią A
czy zapytanie będzie wyglądać w ten sposób;

select * from Customers where CompanyName like 'I%I%A'
2

Sprawdź. Z ogólnego Twojego opisu wygląda ok

1

No tak nie do końca jeśli by być dokładnym. bo zapis like 'I%I%A' oznacza że Klient musi się zaczynać na I, kończyć na A oraz mieć w środku literę "I".
Mieć w środku != środkową.

Ale można zakładać, że chodzi o to rozwiązanie co podałeś i wtedy wygląda OK, tak jak powiedział Tomek.

1
select * from Customers where CompanyName like 'I%I%A'

Obawiam się, że może to nie dać poszukiwanej odpowiedzi. W tej wersji zapytanie wyświetli również firmy o nazwie np. I##I#####A. Skorzystałbym z funkcji substring oraz len. Nie jestem na 100% pewien, czy nie byłoby to coś takiego:

select * from Customers where CompanyName like 'I%A' AND substring(CompanyName ,LEN(CompanyName)/2 + 1,1) = 'I'
0
Serechiel napisał(a):
select * from Customers where CompanyName like 'I%I%A'

Obawiam się, że może to nie dać poszukiwanej odpowiedzi. W tej wersji zapytanie wyświetli również firmy o nazwie np. I##I#####A. Skorzystałbym z funkcji substring oraz len. Nie jestem na 100% pewien, czy nie byłoby to coś takiego:

select * from Customers where CompanyName like 'I%A' AND substring(CompanyName ,LEN(CompanyName)/2 + 1,1) = 'I'

Dzięki wpisałem tak jak wyżej napisałeś i nie wyszukał rekordów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1