Pessoal obrigado pela forca, vou testar essas dicas e o exemplo do Nilton e dou um retorno
cris. On Fri, Jul 25, 2008 at 11:46 PM, Nilton Jose Rizzo <[EMAIL PROTECTED]> wrote: > >> >> > 2008/7/23 Cristiano Panvel <[EMAIL PROTECTED]>: >> > > Oi, o banco he MySQl versao 3.0, e nem posso pensar em atualizar >> > > por enquanto... >> > > >> > > Tenho uma lista grande com esses valores em timestamp, eu tenho >> > > que achar o intervalo dessas datas comecando ler pelo comeco do >> > > arquivo, primeira linha he: >> > > >> > > 20070925145857.714132 >> > > >> > > Quando o intervalo da hora mudar de 145857 para 151100 eu paro de >> > > ler e imprimo essas duas linhas em um algum lugar, porque irei >> > > precisar desses valores depois, e continou lendo da linha que >> > > parei ate o final he mais ou menos isso.Nao sei se tem essa opcao >> > > no MySQL pelo na versao 3 eu nao achei >> > > >> > > 2008/7/22 Tiago Drumond <[EMAIL PROTECTED]>: >> > > [EMAIL PROTECTED] -- Tue, 22 Jul 2008 14:43:50 -0300: >> > > > "Cristiano Panvel" <[EMAIL PROTECTED]> -- Tue, Jul 22, 2008 > 1:03 PM: >> > > > >> > > > Oi pessoal, >> > > > Tenho um arquivo no formato timestamp extraido do banco. Dessa >> > > > forma: >> > > > >> > > > 20070925145857.714132 >> > > > 20070925145859.714131 >> > > > 20070925145900.714130 >> > > > 20070925145902.714129 >> > > > 20070925145904.714129 >> > > > 20070925145906.714128 >> > > > 20070925145907.714127 >> > > > 20070925145909.714126 >> > > > 20070925151100.714126 >> > > > 20070925151110.788127 >> > > > 20070925151200.725128 >> > > > > > Estou pegando carona aqui ... me corrijam se estiver errado ... > > Você precisa retirar as primeiras linhas de cada secao, ou seja, > extraindo do exemplo acima: > > 20070925145857.714132 e > 20070925151100.714126 > > Voce utiliza o Mysql 3.x certo? > > porque não utiliza o seguinte comando: > > SELECT left(campodotimestamp,14) from tabela limit 1 <- retorna a 1 > ocorrencia > > PS.: segue seguencia de testes; > > mysql> create table a ( ts numeric (21,6)); > Query OK, 0 rows affected (0.05 sec) > > mysql> create table b ( ts timestamp); > Query OK, 0 rows affected (0.01 sec) > > > mysql> insert into a values ( > 20070925145857.714132),(20070925145859.714131),(20070925145900.714130),(20070925145902.714129),(20070925145904.714129),(20070925145906.714128),(20070925145907.714127),(20070925145909.714126),(20070925151100.714126),( > 20070925151110.788127),( 20070925151200.725128); > Query OK, 11 rows affected (0.00 sec) > Records: 11 Duplicates: 0 Warnings: 0 > > mysql> insert into b values ( > 20070925145857.714132),(20070925145859.714131),(20070925145900.714130),(20070925145902.714129),(20070925145904.714129),(20070925145906.714128),(20070925145907.714127),(20070925145909.714126),(20070925151100.714126),( > 20070925151110.788127),( 20070925151200.725128); > Query OK, 11 rows affected, 1 warning (0.01 sec) > Records: 11 Duplicates: 0 Warnings: 1 > > mysql> select ts from a limit 1; > +-----------------------+ > | ts | > +-----------------------+ > | 20070925145857.714132 | > +-----------------------+ > 1 row in set (0.00 sec) > > mysql> select ts from b limit 1; > +---------------------+ > | ts | > +---------------------+ > | 2007-09-25 14:58:58 | > +---------------------+ > 1 row in set (0.01 sec) > > mysql> select > -> left(ts,14) from a; > +----------------+ > | left(ts,14) | > +----------------+ > | 20070925145857 | > | 20070925145859 | > | 20070925145900 | > | 20070925145902 | > | 20070925145904 | > | 20070925145906 | > | 20070925145907 | > | 20070925145909 | > | 20070925151100 | > | 20070925151110 | > | 20070925151200 | > +----------------+ > 11 rows in set (0.04 sec) > > mysql> select left(ts,14) from b; > +----------------+ > | left(ts,14) | > +----------------+ > | 2007-09-25 14: | > | 0000-00-00 00: | > | 2007-09-25 14: | > | 2007-09-25 14: | > | 2007-09-25 14: | > | 2007-09-25 14: | > | 2007-09-25 14: | > | 2007-09-25 14: | > | 2007-09-25 15: | > | 2007-09-25 15: | > | 2007-09-25 15: | > +----------------+ > 11 rows in set (0.00 sec) > > > testa ai .. se quiser usar mysql no shell pode criar um arquivo bat > com o sql (as queries) e rodar do seguinte modo: > > mysql -u root < arquivo.sql > > mas o arquivo.sql pode ser: > > user database; > > select left(ts,14) from a; > > > e em C-shell: > > #!/sbin/csh > > set inicio= `mysql -u root < arquivo.sql | awk '{ print $1 };' | tail -n 1` > > while (1) > > set p = @ inicio + xxxxxx > echo "use database;" > novo.sql > echo "select ts from tabela where ($p) = left(ts,14) limit 1;" >> novo.sql > set inicio= `mysql -u root < arquivo.sql | awk '{ print $1 };' | tail -n 1` > > end > > > veja se era isso. > > > -- > Nilton José Rizzo > 805 Informatica > Disseminando tecnologias > 021 2413 9786 > > ------------------------- > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd