• 3 odgovora
  • 4.803 pregleda
update kolona sa jednostrukim apostrofom 11.04.2007. u 13:18 · pre 237 meseci #1
Postoji li mogucnost da izvrsim update kolona koje sadrze jednostruke apostrofe npr. OOUR 'TRGOVINA' . Pokusao sam
update ime_tabele set ime_kolone='OOUR TRGOVINA' where ime_kolone='OOUR 'TRGOVINA' '

ali ovako ne moze, a ne moze ni kada radim update sa komandom replace. Moze li se ikako jednostruki apostrof eliminisati tj. zamijeniti sa space-ovima?
Inace nemam ni kolonu sa primarnim kljucem da prema njemu postavim where uslov
Re: update kolona sa jednostrukim apostrofom 11.04.2007. u 20:30 · pre 237 meseci #3
Umesto
update ime_tabele set ime_kolone='OOUR TRGOVINA' where ime_kolone='OOUR 'TRGOVINA' '

probaj

update ime_tabele set ime_kolone='OOUR TRGOVINA' where ime_kolone='OOUR ''TRGOVINA'''

Svaki od apostrofa oko reci trgovina zamenjen je sa dva apostrofa

Evo sta je radilo kod mene:

-- Resenje za specificno ime:
SELECT TOP 5 StudentUID, REPLACE(Lname,'''',' ') AS Beszpostrofa , Lname
FROM Students
WHERE Lname = 'O''Hare' -- u bazi pise O'Hare

StudentUID Beszpostrofa Lname
1318373 O Hare O'Hare
2303756 O HARE O'HARE
2533279 O Hare O'Hare
2594463 O HARE O'HARE
2599390 O Hare O'Hare


-- Generalno resenje:
SELECT TOP 5
StudentUID, Lname, REPLACE(Lname,'''',' ') AS Beszpostrofa --- ' ' je apostrof - space - apostrof
FROM Students
WHERE Lname LIKE '%''%' -- ovo pronalazi sve slucajeve gde se apostrof nalazi unutar Lname
ORDER BY newid() --- ovo daje slucajni (random) uzorak

StudentUID Lname Beszpostrofa
1421996 D'Orazio D Orazio
3751888 O'Shea O Shea
4893852 O'Neil O Neil
3398977 D'Couto D Couto
5901969 D'AMATA D AMATA




Evo ti scripta koja se malo bavi time:
BEGIN
-- Ovde cu rucno da deklarisem promenljivu i dam joj vrednost OLIVER-O'QUINN
DECLARE @strName as varchar(500)
SEt @strName ='OLIVER-O''QUINN' --- ovde sam rukom stavio dva apostrofa, treba da se cuva samo jedan

-- Sta ce u stvari SQL da vidi:
SELECT @strName AS [sta se cuva u SQL]

-- Hoces da zamenis ' sa recimo znakom $
SELECT REPLACE(@strName,'''','$') AS ZamenjenoZnakom$

-- Hoces da zamenis ' sa recimo sa dva apostrofa ''
SELECT REPLACE(@strName,'''','''''') AS ZamenjenoSaDvaApostrofa
--- '''' = cetiri apostrofa, jedan napred, dva u sredini i jedan pozadi
--- '''''' = sest apostrofa, jedan napred, dva put apo dva u sredini i jedan na kraju
END

Rezulati skripte:
sta se cuva u SQL
-------------------
OLIVER-O'QUINN


ZamenjenoZnakom$
-----------------
OLIVER-O$QUINN


ZamenjenoSaDvaApostrofa
-------------------------
OLIVER-O''QUINN



Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme