Tengo una mesa con dos columnas, ID
y Value
. Quiero cambiar una parte de algunas cadenas en la segunda columna.
Ejemplo de tabla:
ID Value
---------------------------------
1 c:\temp\123\abc\111
2 c:\temp\123\abc\222
3 c:\temp\123\abc\333
4 c:\temp\123\abc\444
Ahora no se necesita 123\
en la Value
cadena. Lo intenté UPDATE
y REPLACE
:
UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4
Cuando ejecuto el script, SQL Server no informa un error, pero tampoco actualiza nada. ¿Porqué es eso?
sql
sql-server
string
sql-server-2008
replace
aston_zh
fuente
fuente
Respuestas:
No necesita comodines en el
REPLACE
, solo encuentra la cadena que ingresa para el segundo argumento, por lo que lo siguiente debería funcionar:(También agregué el
\
en el reemplazo ya que supongo que tampoco lo necesitas)fuente
`? isn't that escaping the
'' y lo hace incorrecto?Intenta eliminar los
%
caracteres como se muestra a continuaciónfuente
Para que la consulta se ejecute más rápido en tablas grandes donde no es necesario actualizar todas las líneas, también puede optar por actualizar solo las filas que se modificarán:
fuente
consulta:
fuente
Tienes una tabla donde tienes un código de fecha que tiene siete caracteres, algo así como
Ahora quieres reemplazar todo
Con
La consulta SQL que debe ejecutar es
fuente
Para cualquiera que quiera reemplazar su script.
update dbo.[TABLE_NAME] set COLUMN_NAME= replace(COLUMN_NAME, 'old_value', 'new_value') where COLUMN_NAME like %CONDITION%
fuente
fuente
deberías usar la siguiente consulta de actualización
Cualquiera de las consultas anteriores debería funcionar.
fuente
reemplazar por palabra persa
ayuda: dbo.TblNews - nombre de la tabla
keyWords - nombre de archivo
fuente