Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Modifica parziale campo nvarchar(MAX)
giovedì 07 aprile 2011 - 11.40
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2008 R2
lalloburo
Profilo
| Newbie
12
messaggi | Data Invio:
gio 7 apr 2011 - 11:40
ciao,
ho un campo nvarchar(MAX) in cui ho una serie di valori inseriti come posso rintracciarne uno e sostituirlo lasciando invariato il resto del contenuto? Se faccio:
UPDATE tabella
SET campoTabella = N'xxxx'
WHERE (campoTabella LIKE '%2222%')
mi trova il campo e me lo sostituisce con il valore nuovo, io invece vorrei che mi sostituisse solo il valore e non toccasse il resto.
Spero di essermi spiegato. Magari per voi è banale, ma io non riesco a trovare una soluzione.
Grazie a tutti.
ciao
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 7 apr 2011 - 11:48
>ho un campo nvarchar(MAX) in cui ho una serie di valori inseriti
>come posso rintracciarne uno e sostituirlo lasciando invariato
>il resto del contenuto? Se faccio:
>UPDATE tabella
>SET campoTabella = N'xxxx'
>WHERE (campoTabella LIKE '%2222%')
>
>mi trova il campo e me lo sostituisce con il valore nuovo, io
>invece vorrei che mi sostituisse solo il valore e non toccasse
>il resto.
Ciao,
Il pattern è univoco per colonna oppure viene ripetuto in più punti della stringa?
>Grazie a tutti.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
lalloburo
Profilo
| Newbie
12
messaggi | Data Invio:
gio 7 apr 2011 - 12:13
nel campo c'è una volta sola, potrebbe esserci altre volte in altri record. In poche parole vorrei un comando che faccia ciò che in access è il trova e sostituisci tutto. In quel campo, via asp, faccio depositare delle ID separate da virgole. é possibile che io debba sostituire, nella sequenza, tutte le 2222 in 3333 ad esempio
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 7 apr 2011 - 13:54
>faccio depositare delle ID separate da virgole.
Ma che brutto
Una soluzione del genere non rispetta nemmeno la prima forma normale.
Quello che chiedi è fattibilissimo mediante le funzioni stringa PATHINDEX(), LEN() e STUFF() ma ti invito caldamente a rivedere lo schema del db, normalizzandolo fino alla terza forma.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
dinoxet
Profilo
| Senior Member
484
messaggi | Data Invio:
gio 7 apr 2011 - 13:56
prova ad usare la
replace()
DINOXET
__________________________________________
impossible is only a word
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !