Update text-felter med Replace
Jeg har en text-kolonne, hvor næsten alle dataene starter med "Carriage-return" efterfulgt af "line-feed" (CRLF).Nu kunne jeg så godt tænke mig at komme af med alle disse tegn. Og på felter af typen Varchar virker det fint, men jeg kan ikke bruge koden på text-felter.
Her er koden der virkede på Varchar-felterne:
/* Fjern Carriage-return */
UPDATE Product
SET ProductText = REPLACE(ProductText, CHAR(13),'')
WHERE ASCII(LEFT(ProductText,1)) = 13
/* Fjern Line-feed */
UPDATE Product
SET ProductText = REPLACE(ProductText, CHAR(10),'')
WHERE ASCII(LEFT(ProductText,1)) = 10
Men når jeg prøver det samme trick på de andre felter får jeg følgende fejl:
Server: Msg 8116, Level 16, State 1, Line 2
Argument data type text is invalid for argument 1 of replace function.
Server: Msg 8116, Level 16, State 1, Line 2
Argument data type text is invalid for argument 1 of left function.
Server: Msg 8116, Level 16, State 1, Line 7
Argument data type text is invalid for argument 1 of replace function.
Server: Msg 8116, Level 16, State 1, Line 7
Argument data type text is invalid for argument 1 of left function.
Det er kun de to første tegn der skal erstattes. Ikke dem der findes andre steder i feltet.
