Ir para conteúdo

Arquivado

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

Vitor Thomaz Alves

Formata do Data

Recommended Posts

Boa tarde conhecedores das transacts-SQL!

 

Estou no mesmo projeto de Controle de Chamados de Helpdesk, mas estou tendo problemas com as datas!

 

Estou desenvolvendo o Front End no Delphi, na Field do campo de data tenho a possibilidade de inserir uma máscara que inicialmente utilizei dd/mm/yyyy, porém, quando passo pelo campo é apresentado um erro referente ao formato, no SQLExpress aqui só é aceito no formado yyyy-mm-dd.

 

Eu usei a algum tempo (anos) em uma aula de XML na Fatec, o comando abaixo:

 

SET DATEFORMAT YMD

Até tentei modificar o final para DMY, mas sem sucesso.

 

Minha pergunta é: Existe alguma maneira de modificar o formato da data dentro da tabela no SQL?

 

Abaixo a tabela em questão:

 

create table cham (
  cp_codcham int not null identity (1,1)
    constraint pk_cham primary key,
  cp_datini date not null,
  cp_datfin date,
  cp_codfun int not null
    constraint fk_cham_func foreign key references func(cp_codfun),
  cp_nomcli varchar(50) not null,
  cp_nomcont varchar (30) not null,
  cp_desprob text not null,
  cp_status varchar(10) not null
    constraint ck_status check (cp_status in ('aberto','fechado','aguardando'))
)

Os campos que estou querendo modificar são:

 

cp_datini e cp_datfin

 

Abraços, desde já agradeço a atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altere a tabela para DATETIME:

alter table cham alter column  cp_datini datetime not null
alter table cham alter column  cp_datfin datetime

 

Veja se o erro persiste.

 

Se sim, como que esta chamando esta data?

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não rolou, ele dá uma msg de erro informando que o valor não é valido para 'datetime'!

 

Estou inserindo usando AODConnection, AODTable e DataSource, adiciono os Fields (campos da tabela) no AODTable e "linko" eles com os campos do Form. Antes quando estava no formato europeu YMD, caso eu inseri-se as datas no formato padrão ele aceita a inserção dos demais campos e da data invertida normalmente.

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nops, eu coloquei a data apenas!

 

Inicialmente eu estava utilizando a máscara 'dd/mm/yyyy', depois tirei a máscara. Tentei usar apenas números, sem separador algum (nem '-' e nem '/') mas também não funcionou.

 

Se eu deixar o campo no SQL com o tipo 'date' e inserir uma data '2013-05-29', por exemplo, a inserção ocorre corretamente.

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.