webForumDet fria alternativet

Ta bort allt efter "

Databaser & SQL

7 svar · 273 visningar · startad av Bosse168

Medlem sedan nov. 20031 018 inlägg
Frågan#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 "

Medlem sedan maj 20021 466 inlägg
#2

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

Medlem sedan nov. 20031 018 inlägg
#3

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

Medlem sedan dec. 200012 464 inlägg
#4
update t set c = substring(c from 1 for position('"' in c) - 1)
where c like '%"%'
Medlem 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"

Medlem 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('

Medlem 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 '%""%'"
Medlem sedan nov. 20031 018 inlägg
#8

Ok ska testa när jag kommer hem.

251 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)