Mam następujący opis: "Product Product Maker XYZ - Size" i chciałbym otrzymać z tego tylko wartość "Product Name XYZ". Gdyby to był tylko jeden wiersz, nie miałbym problemu z używaniem SUBSTRINGA, ale mam tysiące rekordów i chociaż wartość początkowa Sample Maker jest taka sama dla wszystkich produktów, nazwa produktu może być inna i nie chcę niczego po łącznik.Niepoprawny parametr długości przekazany do funkcji LEFT lub SUBSTRING
Do tej pory wygenerowałem błąd w nagłówku tego pytania.
SELECT i.Itemid,
RTRIM(LTRIM(SUBSTRING(i.ShortDescription, 25, (SUBSTRING(i.ShortDescription, 25, CHARINDEX('-', i.ShortDescription, 25)))))) AS ProductDescriptionAbbrev,
CHARINDEX('-', i.ShortDescription, 0) - 25 as charindexpos
FROM t_items i
otrzymuję „typ danych Argument varchar jest nieprawidłowy dla argumentu 3 funkcja podciągu”
Jak widać, jestem coraz wartość ostatniego wiersza w sql, ale gdy próbuję i podłącz go do funkcji SUBSTRINGU Otrzymuję różne problemy.
Zgłoszony błąd ("Argumentowy typ danych varchar jest nieprawidłowy dla argumentu 3 funkcji substring") jest oparty na składni instrukcji SQL OP, a nie na pobranych danych. – HABO
Nie szukaj obraźliwego wiersza tylko w pobranych danych. Może znajdować się w bazowym zbiorze danych przed klauzulą WHERE. To sprawia, że trudno jest znaleźć obraźliwy wiersz, ale ta metoda rozwiązuje go w każdym z tych zdarzeń. – pghcpa