indexar campo datatime
Moderador: Moderadores
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
indexar campo datatime
Ola!
Como indexar um campo no formato data time com o parâmetro "for" ?
Saudações,
Itamar M. Lins Jr.
Como indexar um campo no formato data time com o parâmetro "for" ?
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
indexar campo datatime
Não sei se entendi direito, mas seria isso?:
Código: Selecionar todos
INDEX ON DToS( datavenda ) + horario TAG Vendas FOR ( datavenda <= Date() .And. horario >= "00:00:00" )Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
indexar campo datatime
Usando o campo no dbf datetime [@] não é mais necessário grava a hora em campo separado.
Eu tinha editado um campo datatime via hbrun sem ativar o set century on e fiz uma confusão aqui nos testes.
Para indexar basta o dtos() mesmo com a clausula for.
Saudações,
Itamar M. Lins Jr.
Eu tinha editado um campo datatime via hbrun sem ativar o set century on e fiz uma confusão aqui nos testes.
Para indexar basta o dtos() mesmo com a clausula for.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
indexar campo datatime
Olá!
Não conhecia este tipo de dado datetime em xBase. Por isso perguntei em outra mensagem.
Poderia dar um exemplo de criação de tabela e manipulação de variável com este tipo de dado?
Grato
Não conhecia este tipo de dado datetime em xBase. Por isso perguntei em outra mensagem.
Poderia dar um exemplo de criação de tabela e manipulação de variável com este tipo de dado?
Grato
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7929
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
indexar campo datatime
Claro
Tem muita coisa para ser explorada no Harbour.
Harbour tipos estendidos:
O campo datetime [@]
Por exemplo:
Irá criar um dbf e quando salvar a data vai salvar a hora junto.
No Browse é mostrado assim
SET DATE FORMAT to "DD-MM-YYYY"
20-08-2013 18:26:00.000 isso mesmo com horas, minutos, segundos...
Aceita todos os comandos para data e mais outros tantos para manipulação de horas etc...
Se usar valtype(data) //Retorna "T" ao invés de "D"
Itamar M. Lins Jr.
Tem muita coisa para ser explorada no Harbour.
Harbour tipos estendidos:
O campo datetime [@]
Por exemplo:
Código: Selecionar todos
aStru := {{'Data','@',08,0}}
dbcreate("temp.dbf",aStru,"DBFCDX")
No Browse é mostrado assim
SET DATE FORMAT to "DD-MM-YYYY"
20-08-2013 18:26:00.000 isso mesmo com horas, minutos, segundos...
Aceita todos os comandos para data e mais outros tantos para manipulação de horas etc...
Se usar valtype(data) //Retorna "T" ao invés de "D"
Saudações,M Memo 4 or 8 Memo
+ AutoInc 4 Auto increment
= ModTime 8 Last modified date & time of this record
^ RowVers 8 Row version number; modification count of this record
@ DayTime 8 Date & Time
I Integer 1, 2, 3, 4 or 8 Signed Integer ( Width : )" },;
T Time 4 or 8 Only time (if width is 4 ) or Date & Time (if width is 8 ) (?)
V Variant 3, 4, 6 or more Variable type Field
Y Currency 8 64 bit integer with implied 4 decimal
B Double 8 Floating point / 64 bit bina
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
indexar campo datatime
Olá Itamar.
Obrigado pela informação. Nunca imaginei isso. Funciona em DBFNTX?
Obrigado pela informação. Nunca imaginei isso. Funciona em DBFNTX?
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
indexar campo datatime
Olá Pessoal,
Porém, há diferença de comportamento entre Harbour e xHarbour. Veja as anotações no próprio exemplo abaixo:
Tem viu. Eu também não conhecia esse recurso. Valeu a dica.Itamar M. Lins Jr. escreveu:Tem muita coisa para ser explorada no Harbour.
Alexandre, Sim! Testei também em DBFNTX.alxsts escreveu: Funciona em DBFNTX?
Porém, há diferença de comportamento entre Harbour e xHarbour. Veja as anotações no próprio exemplo abaixo:
Código: Selecionar todos
/*
Usar as libs: xhb e hbct
*/
Request DbfCdx
Function Main
Set Date Brit
Set Century On
Clear Screen
xDateTime := DateTime()
/*
a ValType() em xHarbour retorna D, e em Harbour T,
mas a letra T de Time, nao a de True .T.
*/
?
? ValType( xDateTime )
? Hb_IsDateTime( xDateTime )
? TtoS( xDateTime )
? TtoC( xDateTime )
cDateTime := TtoC( xDateTime )
? CtoT( cDateTime )
cDateTime := TtoS( xDateTime )
? StoT( cDateTime )
? CharOnly( "0123456789", TtoC( xDateTime ) )
aStru := { { 'Data', '@', 08, 0 } }
DbCreate( "Temp.Dbf", aStru, "DBFCDX" )
Use Temp Shared New
Append Blank
Repl data With Date() // com Date(), veja obs abaixo
Append Blank
Repl data With DateTime() // com DateTime(), veja obs abaixo
Go Top
Browse()
/*
Obs:
com apenas Date() em Harbour, a hora fica zerada: 00:00:00.000
com DateTime() hora e data corrente sao gravadas. em xHarbour
em ambos casos data e hora corrente sao gravados
*/
SetPos( 10, 1 )
ReturnAbraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)