zapytanie SQL operacje na tekście

0

Mam pytanie. Czy to zapytanie SQL jest poprawne. Chodzi mi głównie o operacje na tekście.

select p.Nazwa, p.Cena_Sprzedazy, p.Stawka_VAT, k.Nazwa
from Produkt as p
left join Kategoria as k on k.ID_Kategorii = p.ID_Kategorii
where TRIM(upper(p.Nazwa)) like TRIM(upper('Polopiryna%'))
lub where substring(TRIM(upper(p.Nazwa)), 1, 10) = upper('Polopiryna')

0

Jaka baza ? W MSSQL nie ma funkcji TRIM jest LTRIM i RTRIM. Aby uzyskać TRIM trzeba użyć obydwu czyli LTRIM(RTRIM(Nazwa)).

poza tym reszta wydaje się OK.

0

OK, dzięki za fatygę.

0

Ja tylko dodam, że użycie upper jeżeli jest zasadne (zakładam, że kolumna jest case sesitive) użyj collate tak jest lepiej wydajnosciowo

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