webForumDet fria alternativet

Ta bort allt efter "

7 svar · 273 visningar · startad av Bosse168

Bosse168Medlem sedan nov. 20031 018 inlägg
#1

Har en kolumn i en MySQL databas där det har kommit in massa onödig text som har lagt sig efter " i kolumnen.

Exempel på text i kolumnen:
texten som jag vill behålla"blablabla onödiga texten

Eftersom det är över 2000 rader så undrar jag om det finns någon smidig SQL-sats som tar bort " och all text efter den.

Ps. vill också få bort "

Marcus EMedlem sedan maj 20021 466 inlägg
#2

Du har SUBSTRING_INDEX och SUBSTRING. Slit dem med hälsan.

Bosse168Medlem sedan nov. 20031 018 inlägg
#3

förstår inte hur du menar, du tror inte du kan ge mig ett exempel?

LarsGMedlem sedan dec. 200012 464 inlägg
#4
update t set c = substring(c from 1 for position('"' in c) - 1)
where c like '%"%'
Bosse168Medlem sedan nov. 20031 018 inlägg
#5

Funkar inte blir knas efter:
update t set c = substring(c from 1 for position('"
allt efter ' sedan blir "grått"

Bosse168Medlem sedan nov. 20031 018 inlägg
#6

Kör jag en Response.Write på SQL-satsen så ser den ut så här:

update t set c = substring(c from 1 for position('

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Varför använder du ASP för en sak som detta? Det finns flera verktyg där du kan skriva sql-frågor direkt.

Om du i ASP behöver ha en " i en sträng så får du skriva

q = "update t set c = substring(c from 1 for position('""' in c) - 1) where c like '%""%'"
Bosse168Medlem sedan nov. 20031 018 inlägg
#8

Ok ska testa när jag kommer hem.

135 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)