zapytanie SQL operacje na tekście

zapytanie SQL operacje na tekście
K1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
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')

BlackBad
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 454
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.

K1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
0

OK, dzięki za fatygę.

PA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3895
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.