<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss'><id>tag:blogger.com,1999:blog-1718959608380988063</id><updated>2009-10-09T05:04:58.128-07:00</updated><title type='text'>De poco un todo...</title><subtitle type='html'>Hola, esto es un intento de blog.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://agiomi.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default'/><link rel='alternate' type='text/html' href='http://agiomi.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ariel Giomi</name><uri>http://www.blogger.com/profile/09272200435522773659</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1718959608380988063.post-8706261285946709664</id><published>2009-10-08T09:43:00.000-07:00</published><updated>2009-10-09T05:04:58.138-07:00</updated><title type='text'>Función VAL en Postgresql</title><content type='html'>Hace un tiempo he necesitado migrar algunas bases de access a postgresql.&lt;br /&gt;Algunas consultas utilizaban la función "val" que transforma cualquier dato alfanumérico en número, similar al la función de Basic o Pascal.&lt;br /&gt;&lt;br /&gt;El primer problema que tuve es que al intentar utilizar cast sobre un texto que no contine un número y solo un número, esta función genera un error.&lt;br /&gt;&lt;br /&gt;La solución la encontré con to_number(text, texto).  Sin embargo si el dato a convertir no tiene un número al menos en uno de sus caracteres, también genera un error.&lt;br /&gt;&lt;br /&gt;Para solucionar el tema de emulación de la función "val",  armé  la siguiente utilizando to_number pero agregando un cero delante del texto a convertir.&lt;br /&gt;En mi caso 7 enteros y 4 decimales me fueron suficientes: &lt;span style="font-family:courier new;"&gt;'0000000D0000'&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;CREATE OR REPLACE FUNCTION val(texto character varying)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; RETURNS numeric AS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$BODY$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;begin                       &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    return to_number('0' || texto, '0000000D0000');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;end; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$BODY$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;LANGUAGE 'plpgsql' VOLATILE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;COST 100;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;otra versión posterior para números negativos y valores nulos:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;CREATE OR REPLACE FUNCTION val(texto character varying)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; RETURNS numeric AS&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$BODY$&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;begin                       &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;if texto = '' or texto is null then &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    return 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    if strpos('1234567890', substr(texto,1,1))&lt;&gt;0 then       &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        return to_number('0' || texto, '-0000000D0000');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    else      &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        if strpos('-',substr(texto,1,1))&lt;&gt;0 then &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            if strpos('1234567890',substr(texto,2,1))&lt;&gt;0 then &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                return to_number('0' || texto, '-0000000D0000');&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;                                 return 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            end if;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        else&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            return 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        end if;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      end if;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;end if;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;end; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;$BODY$&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  LANGUAGE 'plpgsql' VOLATILE&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  COST 100;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ojalá les pueda ser útil.  Ariel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1718959608380988063-8706261285946709664?l=agiomi.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agiomi.blogspot.com/feeds/8706261285946709664/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1718959608380988063&amp;postID=8706261285946709664' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default/8706261285946709664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default/8706261285946709664'/><link rel='alternate' type='text/html' href='http://agiomi.blogspot.com/2009/10/funcion-val-en-postgresql.html' title='Función VAL en Postgresql'/><author><name>Ariel Giomi</name><uri>http://www.blogger.com/profile/09272200435522773659</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='13882779427188017856'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1718959608380988063.post-1256476902452150660</id><published>2009-01-19T13:00:00.001-08:00</published><updated>2009-01-19T13:01:59.413-08:00</updated><title type='text'>Transformar un WIN XP en Router</title><content type='html'>Como activar el fowardeo IP en un windows XP con dos o más Tarjetas de Red.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.home-network-help.com/ip-forwarding.html"&gt;http://www.home-network-help.com/ip-forwarding.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1718959608380988063-1256476902452150660?l=agiomi.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agiomi.blogspot.com/feeds/1256476902452150660/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1718959608380988063&amp;postID=1256476902452150660' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default/1256476902452150660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default/1256476902452150660'/><link rel='alternate' type='text/html' href='http://agiomi.blogspot.com/2009/01/transformar-un-win-xp-en-router.html' title='Transformar un WIN XP en Router'/><author><name>Ariel Giomi</name><uri>http://www.blogger.com/profile/09272200435522773659</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='13882779427188017856'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1718959608380988063.post-8050715150186319130</id><published>2008-10-27T04:50:00.000-07:00</published><updated>2008-10-27T04:57:26.342-07:00</updated><title type='text'>Eliminar mails en cola de postfix</title><content type='html'>Para conocer aquellos mails en cola de postfix que no han podido ser entregados y que su entrega está siendo reintentada  podemos utilizar:&lt;br /&gt;&lt;br /&gt;Se puede usar el comando "mailq", que&lt;br /&gt;mostrará la actual "cola" de mensajes de Postfix.&lt;br /&gt;&lt;br /&gt;La salida de "mailq" cuando hay mensaje no entregados que estan&lt;br /&gt;pendientes de hacerlo es algo parecido a esto:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#      mailq&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------&lt;br /&gt;DB75EEF943     4115 Fri Apr  1 20:10:10  MAILER-DAEMON&lt;br /&gt;               (Name service error for cyber.ac.gs: Host not found, try&lt;br /&gt;again)&lt;br /&gt;                                        &lt;br /&gt;aekerley-UknSlpnOq2xmKwC6GExiJw@xxxxxxxxxxxxxxxx&lt;br /&gt;&lt;br /&gt;62C46EF942     4447 Fri Apr  1 10:39:12  MAILER-DAEMON&lt;br /&gt;(host chaos.access-one.com[198.247.160.6] said: 453 sorry, mailbox&lt;br /&gt;currently unavailable (#5.2.1))&lt;br /&gt;                                        &lt;br /&gt;isto-XtEJT2CBGpjz1n+OaKNE4w@xxxxxxxxxxxxxxxx&lt;br /&gt;&lt;br /&gt;-- 8 Kbytes in 2 Requests.&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;La columna "Queue ID" contiene el ID de cada mensaje.  Para eliminar, por ejemplo, el mensaje destinado a aekerley-UknSlpnOq2xmKwC6GExiJw@xxxxxxxxxxxxxxxx, deberíamos ejecutar el comando:&lt;br /&gt;&lt;br /&gt;#        postsuper -d DB75EEF943&lt;br /&gt;&lt;br /&gt;que devolvería algo parecido a esto:&lt;br /&gt;&lt;br /&gt;postsuper: 62C46EF942: removed&lt;br /&gt;postsuper: Deleted: 1 message&lt;br /&gt;&lt;br /&gt;Si queremos eliminar todo y no de a uno (me paso de tener más de 5000 mails en espera con un cliente  travieso haciendo spam) podemos usar&lt;br /&gt;&lt;br /&gt;#   postsuper -d ALL&lt;br /&gt;&lt;br /&gt;Esto borrará la cola completa de mails pendientes de entrega.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1718959608380988063-8050715150186319130?l=agiomi.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agiomi.blogspot.com/feeds/8050715150186319130/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1718959608380988063&amp;postID=8050715150186319130' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default/8050715150186319130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default/8050715150186319130'/><link rel='alternate' type='text/html' href='http://agiomi.blogspot.com/2008/10/eliminar-mails-en-cola-de-postfix.html' title='Eliminar mails en cola de postfix'/><author><name>Ariel Giomi</name><uri>http://www.blogger.com/profile/09272200435522773659</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='13882779427188017856'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1718959608380988063.post-2160685343908534676</id><published>2008-09-10T19:41:00.000-07:00</published><updated>2008-10-14T19:22:40.247-07:00</updated><title type='text'>Cambiar IP en Windows bajo linea de comandos</title><content type='html'>Este script&lt;span style="font-weight: bold;"&gt;  ifconfig.bat&lt;/span&gt; (en alusión al ifconfig de linux)  permite cambiar la IP de la placa principal de red de una PC con windows XP en linea de comandos.&lt;br /&gt;Utiliza el comando &lt;span style="font-weight: bold;"&gt;netsh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Modo de uso:&lt;br /&gt;&lt;br /&gt;   ifconfig &lt;ip&gt;&lt;mascara&gt;&lt;puerta&gt;&lt;dns&gt;&lt;ip&gt;&lt;mascara&gt;&lt;puerta&gt;&lt;dns&gt;  ip  mascara   puerta_de_enlace  dns_primario&lt;br /&gt;&lt;br /&gt;  Nota: dns_primario es opcional&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Archivo ifconfig.bat:&lt;br /&gt;-----------------------------------------------------------------------------------&lt;br /&gt;@Echo OFF&lt;br /&gt;echo [requerido] Primer parametro %1 es para ip estatica.&lt;br /&gt;echo [requerido] Segundo parametro %2 es la mascara de red.&lt;br /&gt;echo [requerido] Tercer parametro %3 es la puerta de enlace.&lt;br /&gt;echo [opcional] Cuarto parametro %4 es el servidor dns primario&lt;br /&gt;&lt;br /&gt;If [%1] == [] GOTO QUIT&lt;br /&gt;If [%2] == [] GOTO QUIT&lt;br /&gt;If [%3] == [] GOTO QUIT&lt;br /&gt;&lt;br /&gt;echo Starting %0&lt;br /&gt;&lt;br /&gt;Echo ........Configurando IP address en Conexión de área local a %1 con NetMask %2&lt;br /&gt;netsh interface ip set address name="Conexión de área local" source=static addr=%1 mask=%2&lt;br /&gt;Echo ........Configurando Gateway en Conexión de área local a %3&lt;br /&gt;netsh interface ip set address name="Conexión de área local" gateway=%3 gwmetric=1&lt;br /&gt;&lt;br /&gt;If [%4] == [] GOTO QUIT&lt;br /&gt;Echo ........Configurando DNS en Conexión de área local a %4&lt;br /&gt;netsh interface ip set dns name="Conexión de área local" source=static addr=%4 register=primary&lt;br /&gt;&lt;br /&gt;GOTO QUIT&lt;br /&gt;&lt;br /&gt;:QUIT&lt;br /&gt;ECHO ON&lt;br /&gt;------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;Script localizado en este &lt;a href="http://windowstips.wordpress.com/2006/07/31/how-to-cambiar-la-direccion-ip-desde-linea-de-comandos-en-windows/"&gt;blog&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/dns&gt;&lt;/puerta&gt;&lt;/mascara&gt;&lt;/ip&gt;&lt;/dns&gt;&lt;/puerta&gt;&lt;/mascara&gt;&lt;/ip&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1718959608380988063-2160685343908534676?l=agiomi.blogspot.com'/&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://agiomi.blogspot.com/feeds/2160685343908534676/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=1718959608380988063&amp;postID=2160685343908534676' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default/2160685343908534676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1718959608380988063/posts/default/2160685343908534676'/><link rel='alternate' type='text/html' href='http://agiomi.blogspot.com/2008/09/prueba-1.html' title='Cambiar IP en Windows bajo linea de comandos'/><author><name>Ariel Giomi</name><uri>http://www.blogger.com/profile/09272200435522773659</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='13882779427188017856'/></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>1</thr:total></entry></feed>