VARIAVEL DATA É DATE E STRING?

 Tópico anterior Próximo tópico Novo tópico

VARIAVEL DATA É DATE E STRING?

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#472400 - 13/03/2017 11:15:56

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


Antes eu trabalhava com variável tipo string para evitar problemas com formato date (dd/mm/yyyy) e (mm/dd/yyyy), mas depois que aprendi a usar parâmetros, uso apenas o formato date, pois como disse OCELOT, não há necessidade de conversão (pelos menos em vb.net rsrsrs)

O conhecimento é como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


#472402 - 13/03/2017 12:24:00

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Minha opinião é igual à do OCELOT.
Acho que o Macoratti fez dessa maneira, pois é apenas para estudo, garanto que se ele for desenvolver algo para uma empresa, não fará dessa maneira. Pode apostar.

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#472404 - 13/03/2017 14:16:37

MOUSER
CARAPICUIBA
Cadast. em:Fevereiro/2014


Galera, só mais uma duvida! Vejo que muitos fazem o select da seguinte forma:
Citação:
  Select * from t_Data Where data between #dataInicio# And #dataFim# order by admissao


Essa "##" Seria necessariamente para qual função?

VB.NET + SQL Server = Muita coisa sei, mas muita coisa para aprender.
Curso de Excel e VB6 www.cursoexcelvba.com.br
Blog do Mouser


#472407 - 13/03/2017 15:19:50

OMAR2011
MONTES CLAROS
Cadast. em:Setembro/2011


Isto é para o Famoso Access.



#472411 - 13/03/2017 18:43:26

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


MySql:
  Select * from t_Data Where data between 'dataInicio' And 'dataFim' order by admissao


O conhecimento é como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


#472412 - 13/03/2017 18:56:40

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
O truque todo é ver variáveis de data como o que elas são: Tipos compostos. Elas tem dia, mês, ano, hora, minuto, segundo e até milissegundo. Todas essas informações podem ser extraídas, usadas para cálculos, como base para ordenação e toda e qualquer outra operação desejada, TUDO EM SEPARADO. Ou seja, apesar de vermos uma data como uma coisa só, trata-se de várias informações combinadas.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#472414 - 13/03/2017 19:31:56

PROFESSOR
SANTOS
Cadast. em:Outubro/2011


Data/hora é data/hora, texto é texto.

O fato é que você pode ler um texto e interpretar que ali está armazenada uma data, ou um valor, ou um valor lógico.

Trocando em miúdos, sempre que usar variáveis do tipo textual para armazenar valores de outros tipos, vai precisar também fazer as rotinas que convertam esses dados. Se, por outro lado, usar variáveis com tipos compatíveis, essas rotinas basicamente são desnecessárias. Com data/hora, valores numéricos e valores lógicos, podemos realizar cálculos. Com textos, só podemos concatenas ou subtrair caracteres. Assim, faz todo o sentido usar um DateTime para armazenar uma data de nascimento, pois podemos usar esse valor para calcular a idade. No tocante à base de dados e às suas variáveis, procure sempre definir o tipo de dados o mais próximo possível das necessidades reais.

Essa é uma explicação muuuito simplista, mas que, sem entrar em mais detalhes, serve bem ao propósito.

Voltei, mas só estou de passagem.

#472423 - 14/03/2017 15:11:06

MOUSER
CARAPICUIBA
Cadast. em:Fevereiro/2014


Uma ultima questão para encerrar esse tópico! Sabemos que existe varias formas de declarar uma data, e como nosso amigo Kerplunk mesmo disse, existe a possibilidade de puxar só a data (Dia/Mes/Ano Or Ano/Dia/Mes) ou puxar data e hora (Ano/Dia/Mes Hora:Min), e até mesmo milésimo de segundo. Queria saber qual o meio certo de declarar cada tipo de variavel. Por exemplo, no meu caso, 95% dos registros a qual trabalho, precisam só da data, eu sempre declarei tanto no SQL Server ou no VB.NET da seguinte forma:

Citação:
  
Dim Data as Date

CREATE TABLE [dbo].[t_Data](
    [cod] [int] IDENTITY (1,1) NOT NULL,
    [Data] [date]  NOT NULL
        ) ON [PRIMARY]


Para registrar só a data está correto a forma de declarar o atributo da tabela e da variável?

VB.NET + SQL Server = Muita coisa sei, mas muita coisa para aprender.
Curso de Excel e VB6 www.cursoexcelvba.com.br
Blog do Mouser


#472427 - 14/03/2017 15:57:57

DS2T
BARRA MANSA
Cadast. em:Novembro/2010


Date tem precisão de 1 dia. Se você quer apenas armazenar a data, sem o horário, Date é o que precisa.

Abraços!

"Cansei de frases intelectuais" - Eu mesmo


#472430 - 14/03/2017 16:52:12

OCELOT
SOROCABA
Cadast. em:Março/2012


Citação:
Para registrar só a data está correto a forma de declarar o atributo da tabela e da variável?

No banco de dados você deve usar o tipo que te dá a precisão necessária, e no código, no caso em VB.Net nem sempre existe uma variável correspondente direta do tipo, então você usa o tipo mais próximo dele, sendo que sempre deixando sobrar pro lado do seu código, por exemplo no caso de um campo do SQL Server que guarda só data, não existe nada do tipo no VB.Net que faça isso, porém você tem um que guarda Data e Hora, então é bom o suficiente para isso e você só tem que estar ciente da diferença de capacidade, no caso ignorando as horas, de preferência sempre deixando elas zeradas.

E só para esclarecer, no VB.Net o tipo Date é apenas um apelido para o DateTime, onde o primeiro é o nome usado pelo compilador, o segundo é o nome real existente no .Net Framework, na prática usar qualquer um dos dois tem o mesmo resultado.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por MOUSER em 30/06/2017 09:55:20