Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

doglino

campo tipo data com mes e ano apenas

Recommended Posts

Como eu faço pra ter um campo que guarde apenas o mes e o ano, é o que eu preciso guardar.usei timestamp mas acho q não dá certo, setei o padrão 0000-00 mas não aceitou!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O manual diz:

TIMESTAMP[(M)] Um timestamp. A faixa é entre '1970-01-01 00:00:00' e algum momento no ano 2037. No MySQL 4.0 ou anteriores, os valores TIMESTAMP são exibidos nos formatos YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, ou YYMMDD, dependendo se M é 14 (ou não definido), 12, 8 ou 6, mas permite a você atribuir valores ao campo TIMESTAMP usando strings ou números.

Portanto, acho que lhe resta utilizar:

MEDIUMINT[(M)] [uNSIGNED] [ZEROFILL] Um inteiro de tamanho médio. A faica com sinal é de -8388608 a 8388607. A faixa sem sinal é de 0 to 16777215.

No caso você registraria apenas os números, ou seja, se o hífem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi, Tentei alterar a tabela para receber mes e ano juntos,exemplo062006como está configurado o campo atual:nome tipo Nulo Padrãodata timestamp Sim NULL tentei alterar mas, exibiu esse erro:comando SQL : ALTER TABLE `revista` CHANGE `data` `data` TIMESTAMP( 6 ) UNSIGNED ZEROFILL DEFAULT '000000' Mensagens do MySQL : #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNSIGNED ZEROFILL DEFAULT '000000'' at line 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este é um típico caso para usar um campo char(6) ou varchar(6), primeiro por causa da formatação, e segundo porque a "malandragem" pra fazer isso num timestamp demanda muito mais código e pode dar algum problema quando fizeres comparações ou ordenação.Por default, esse tipo de informação é para referência de Mês/Ano, eu particularmente sempre uso esse tipo de campo como char(6), no formato AAAAMM, o que garante a formatação (200606 e não 62006) e é muito prático para comparações e ordenação (o método americano se não me engano é que usa datas no formato AAAAMMDD, que facilita na ordenação).

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.