[ dom @ 11.04.2007. 13:18 ] @
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
[ goranvuc @ 11.04.2007. 14:07 ] @
Evo nekog sa slicnim problemom: http://www.elitesecurity.org/t167985-opet-taj-cuveni-character
[ Zidar @ 11.04.2007. 20:30 ] @
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



[ logic_rabbit @ 12.04.2007. 10:16 ] @
Probaj sa WHERE ime_kolone="OOUR"+ "'"+"TRGOVINA"+"'"