2008-01-27, 19:15
  #1
Medlem
phils avatar
hur skulle man skriva en sql-fråga där man måste parsa texten från en kolumn.
formen på texten är xx-YY-ppp-<texten-jag-vill-ha>-zzz
texten jag vill ha kan vara olika längd, ibland två tecken och ibland fyra.

har försökt mig fram med bla CHARINDEX, LEFT, SUBSTRING.

tacksam för hjälp.
Citera
2008-01-27, 20:42
  #2
Medlem
gadzooxs avatar
Citat:
Ursprungligen postat av phil
hur skulle man skriva en sql-fråga där man måste parsa texten från en kolumn.
formen på texten är xx-YY-ppp-<texten-jag-vill-ha>-zzz
texten jag vill ha kan vara olika längd, ibland två tecken och ibland fyra.

har försökt mig fram med bla CHARINDEX, LEFT, SUBSTRING.

tacksam för hjälp.
Om xx-YY-ppp- och -zzz alltid är 2, 2, 3 och 3 tecken så är det lätt gjort med SUBSTRING och LENGTH.

SELECT SUBSTRING(fält, 11, LENGTH(fält)-14) FROM ...

Typ ngt sånt... Börja på pos 11, klipp ut length-14 tecken (10 före, 4 efter).
Citera
2008-01-28, 21:37
  #3
Medlem
Om du kör SQL2005 så borde du kunna använda följande sp för regex.

http://msdn.microsoft.com/msdnmag/issues/07/02/SQLRegex/default.aspx
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in