SugarCRM – Modificar Listas Desplegables
12/07/2011Nexus A3 ERP – Tabla Identificadores
24/07/2011La verdad es que estoy muy acostumbrado cuando tengo que hacer según que manipulaciones de datos, con Access o sucedaneos.
Sólo hay que seleccionar la opción Buscar y Reemplazar, y alehop!!! Cambio realizado.
He de reconocer que soy de mente vaga, y hacer un reemplazar via código pues… busco la comodidad, hasta que como en esta ocasión no me ha quedado más remedio que picar una consulta que me actualizara los datos que yo quería (Access, cuanto te echo de menos… jejeje)
Bueno, al caso. Existe una función en Transact SQL (para SQL Server) que permite hacer un cambio de una determinada cadena de texto dentro de un campo.
REPLACE
La sintaxis es la siguiente:
REPLACE ( string_expression , string_pattern , string_replacement )
- string_expression
- Es la expresión de cadena en la que se va a buscar. string_expression puede tener un tipo de datos de carácter o binario.
- string_pattern
- Es la subcadena que se va a buscar. string_pattern puede ser de un tipo de datos de carácter o binario. string_pattern no puede ser una cadena vacía (“).
- string_replacement
- Cadena de reemplazo. string_replacement puede tener un tipo de datos de carácter o binario.
Ejemplo:
SELECT REPLACE(‘abcdefghicde’,’cde’,’xxx’);
GO
El resultado será el siguiente:
------------ abxxxfghixxx (1 row(s) affected)
En mi caso, lo que quería era eliminar un “.00” de una cadena numérica que había convertido en string, y quedaba un poco feo, así que combiné Replace con Update.
UPDATE TABLAX SET CAMPO=REPLACE(CAMPO,’.00′,”)
De tal manera que reemplazaba la cadena ‘.00’ por nada, y el resto lo dejaba igual.
Y poca cosa más tiene esta función.
Lo de siempre, con mucho cuidadito, porque no tiene un deshacer pero de gran utilidad.
2 Comments
Estoy intentando modificar el correo electrónico de los usuarios de hotmial.com a gmail.com, la tabla se llama User y la columna se llama Email, he realizado el siguiente Query sin embargo no consigo mi objetivo:
SELECT REPLACE (‘@hotmail.com’, ‘hotmail.com’, ‘gmail.com’)
GO
Puedes ayudarme a realizar el cambio que quiero.
Gracias.
Hola Aldin,
Te falta la parte importante que es indicar que tabla y que campo quieres modificar
sería algo así
UPDATE USER SET EMAIL=REPLACE (‘@hotmail.com’, ‘hotmail.com’, ‘gmail.com’)
espero que te sirva