String SQL

Post Reply
WSL
Posts: 21
Joined: Wed Apr 10, 2013 12:00 pm

String SQL

Post by WSL »

Boa noite,

Qual é a sintaxe correta para substituir a string '2013-12-02 00:00:00' pelo valor de um tag do tipo DateTime para formar um comando SQL válido no SQLite?

Code: Select all

local fim = Tags.Get('Kernel.Tags.Local.TagLocalGroup_001.Hora_Fim')
print(' Fim:'..tostring(fim.Value))

cursor, error  = con:Execute("SELECT * FROM Tabela_Evento WHERE value_TagRef_Fim > '2013-12-02 00:00:00' ;")
Desde já agradeço.

Wilson Lima
User avatar
thiago.bastos
Administrador
Posts: 10
Joined: Thu Jan 31, 2013 3:54 pm
Location: Av. Dr. Armando de Sales Oliveira, 445, Taquaral - Campinas - SP - Brasil
Contact:

Re: String SQL

Post by thiago.bastos »

Caro Wilson, bom dia!

O formato de Data/Hora dos Tags do tipo DateTime no HIscada Pro possuem o formato dd/mm/yyyy hh:mm:ss(dia/mês/ano hora:minuto:segundo).

Já no SQLite, o formato padrão de Data/Hora é yyyy-mm-dd hh:mm:ss(ano-mês-dia hora:minuto:segundo).

Portanto, o que devemos fazer neste caso, é formatar o valor do Tag DateTime, para o formato padrão de Data/Hora do SQLite.

Para fazer isso, consulte a seção Acesso ao DateTime com a escolha do formato desta página do manual do HIscada Pro. Neste caso você deve passar como parâmetro para função GetFormatString o formato padrão de Data/Hora do SQLite(yyyy-mm-dd hh:mm:ss).

Exemplo:

Code: Select all

-- Tag local do Kernel com o formato DateTime
local fim = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.Hora_Fim")
print(' Fim:'..tostring(fim.Value))

-- Formata em uma variável auxiliar, a Data/Hora do tag "fim" para o formato padrão do SQLite
local DataHoraConsultaFormatoSQLite = fim.Value:GetFormatString("yyyy-mm-dd hh:mm:ss")

-- Comando SQL de consulta utilizando o valor de um tag DateTime como parâmetro
cursor, error  = con:Execute("SELECT * FROM Tabela_Evento WHERE value_TagRef_Fim > '" .. DataHoraConsultaFormatoSQLite .. "' ;")

Em caso de novas dúvidas, basta utilizar nosso fórum!
Thiago Veronesi Bastos
Desenvolvedor de Software

HI Tecnologia - Indústria e Comércio Ltda
Campinas - SP
Fone: +55 (19) 2139-1700
Fax: +55 (19) 2139-1710
Email: thiago.bastos@hitecnologia.com.br
Web-site: http://www.hitecnologia.com.br
WSL
Posts: 21
Joined: Wed Apr 10, 2013 12:00 pm

Re: String SQL

Post by WSL »

Excelente explicação, como de costume.

Muito grato!
Post Reply