Ho la seguente descrizione: "Nome prodotto produttore di campioni XYZ - Dimensioni" e desidero ottenere solo il valore 'Nome prodotto XYZ' da questo. Se questa fosse solo una riga, non avrei alcun problema usando solo SUBSTRING ma ho migliaia di record e sebbene il valore iniziale di Sample Product Maker sia lo stesso per tutti i prodotti, il nome prodotto potrebbe essere diverso e non voglio nulla dopo il trattino.Parametro di lunghezza non valido passato alla funzione SINISTRA o SUBSTRING
Quello che ho finora ha generato l'errore nell'intestazione di questa domanda.
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
sto ottenendo 'tipo di dati argomento varchar è valido per l'argomento 3 della funzione sottostringa'
Come potete vedere, sto ottenendo il valore per l'ultima riga l'istruzione SQL, ma quando provo e collegalo alla funzione SUBSTRING e ricevo vari problemi.
L'errore riportato ('Tipo di dati di argomento varchar non valido per l'argomento 3 della funzione di sottostringa') si basa sulla sintassi dell'istruzione SQL dell'OP, non sui dati recuperati. – HABO
Non cercare la riga in questione solo nei dati recuperati. Può trovarsi nel set di dati sottostante prima della clausola WHERE. Ciò rende difficile trovare la riga offendente, ma questo metodo lo risolve in entrambi gli eventi. – pghcpa