Ayuda con Update en cadena de caracteres
Publicado por Juan Carlos Mustacchio (2 intervenciones) el 29/09/2011 20:51:03
Buenas tardes, antes todo muchas gracias por la atención.
Tengo que realizar un update en una cadena de caracteres (20) alfanumerico.
Necesito actualizar sólo las primeras 6 posiciones.
Hago el ejemplo.
El campo tiene como valor ejemplo : 'cadenaxxxxxxxxxxxxxx'
Y quiero cambiar a todos aquellos registros que comienzan con la palabra 'cadena' por 'numero'.
El script sencillo lo haría así:
update mitabla
set campo= replace (campo,'cadena','numero')
where campo like 'cadena%'
Lo que me devolvería 'numeroxxxxxxxxxxxxxx'
Esto me funciona bárbaro, pero puede darse la posibilidad de que dentro de la cadena encuentre nuevamente la palabra 'cadena', y me lo reemplace también, lo que sería un error.
Ejemplo:
Si existe un registro que sea : 'cadenaxxxxcadenaxxxx'
Con el update que estoy utilizando me quedaría así 'numeroxxxxnumeroxxxx' , pero en realidad necesito que sólo modifique la primera parte de la cadena, quedando así 'numeroxxxxcadenaxxxx'
Si no está claro por favor preguntenme. Muchas gracias por la ayuda!!
Tengo que realizar un update en una cadena de caracteres (20) alfanumerico.
Necesito actualizar sólo las primeras 6 posiciones.
Hago el ejemplo.
El campo tiene como valor ejemplo : 'cadenaxxxxxxxxxxxxxx'
Y quiero cambiar a todos aquellos registros que comienzan con la palabra 'cadena' por 'numero'.
El script sencillo lo haría así:
update mitabla
set campo= replace (campo,'cadena','numero')
where campo like 'cadena%'
Lo que me devolvería 'numeroxxxxxxxxxxxxxx'
Esto me funciona bárbaro, pero puede darse la posibilidad de que dentro de la cadena encuentre nuevamente la palabra 'cadena', y me lo reemplace también, lo que sería un error.
Ejemplo:
Si existe un registro que sea : 'cadenaxxxxcadenaxxxx'
Con el update que estoy utilizando me quedaría así 'numeroxxxxnumeroxxxx' , pero en realidad necesito que sólo modifique la primera parte de la cadena, quedando así 'numeroxxxxcadenaxxxx'
Si no está claro por favor preguntenme. Muchas gracias por la ayuda!!
Valora esta pregunta


0