Como manipular Datas no SQLite
25/04/2016
0
Eu novamente, agora com duvida em outro banco.
Estou tentando montar um relatorio no meu software de suporte que usa o banco sqlite.
e estou com dificuldades de manipular as datas.
Consegui montar basicamente esse select
SELECT * FROM tickets where created_at = date('now')
A questao é que nao esta trazendo resultados e eu quero trazer todos os tiquetes abertos hoje.
Estou apanhando feito filho de bandido. kkkkk
me ajudem por favor!!!! kkkkkk
Obrigado.
Abraco.
Alex Lekao
Posts
25/04/2016
Marcos P
A coluna "created_at" é de qual tipo de dado ?
Quando você faz...
SELECT created_at FROM tickets;
Qual a máscara de retorno dos dados recuperados pelo banco ? YYYY-MM-DD ?
Quando você faz...
SELECT date('now');
A data atual é retornada ? No mesmo formato de "created_at" ?
26/04/2016
Alex Lekao
aparece como YYYY-MM-DD HH:MM:SS.
nao, para retornar igual tenho que usar
select datetime('now')
Obrigado.
26/04/2016
Jothaz
SELECT strftime('%d-%m-%Y', 'now')
Não consigo testar, pois estou como note da empresa e não tenho SQLite nele.
Para maiores detalhes Date And Time Functions
26/04/2016
Alex Lekao
Eu ate olhei essa pagina de documentacao do sqlite, mas confesso que fiquei meio confuso. srsrsr
so para eu ver se entendi, essa sintaxe que vc me passou seria para deixar a data no padrao "brasileiro", certo?
Ate que ja estou conseguindo manipular do jeito que eu queria, que era pegar a data de hoje para tras, mas como acabei confundindo os simbolos(erro banal e idiota. rsrsr), acabou nao dando o resultado esperado.
Agora vou precisar entender como trazer o tempo dos tickets em aberto, pegando a data de criacao e a data de hoje e subtrair, coisa que ainda estou analisando o como fazer.
Achei bem simples, mas meio novo para mim e um pouco diferente. rssr
Obrigado.
26/04/2016
Jothaz
É normal esse estranhamento, mas use a teoria suína: fuça, mas fuça bastante que chegarás lá.
26/04/2016
Alex Lekao
to quase chegando no comeco. kkkkk
essa teoria eh a que mais uso, ja consegui deixar a data do jeito que quero, padrao brasileiro, dd/mm/aaaa, agora estou pesquisando sobre como calcular as datas.
26/04/2016
Marcos P
Boa sorte !
26/04/2016
Alex Lekao
Seria basicamente isso mesmo, eu ate tenho acompanhado o help dele, mas confesso que tem me deixado bastante confuso.
Infelizmente tive que parar, pq o aplicativo que estou usando nao esta abrindo os relatorios para dar continuidade.
Mas assim que voltar a funcionar eu testo novamente.
Obrigado!!!!
13/08/2019
Fernanda
Estou tendo problemas com datas no SQLite e achei o seu post, talvez vc possa me ajudar.
Estou tentando migrar o banco do TRAC no SQLite para o SQL Server. Porém não estou conseguindo visualizar as datas da tabela ticket, nem no SQLite Administrator nem no prompt de comando (sqlite3). As colunas time e changetime vêm em branco.
Você sabe como fazer para visualizar os valores?
No prompt eu tento "select datetime(time / 1000000, 'uniepoch', 'localtime'), datetime(changetime / 1000000, 'uniepoch', 'localtime') from ticket" mas não retorna nada, e eu sei que tem valores nessas colunas.
Você pode me ajudar?
13/08/2019
Alex Lekao
Olha, eu nem lembrava mais deste post. rsrs
Você quer migrar para o SQL Server? Qual Versão?
Eu não uso mais SQLite faz um bom tempo, se não me engano era em um software de chamados tecnicos que eu utilizava a alguns anos atrás, eu precisaria criar uma base de testes em alguma vm para testar e tentar te ajudar.
Mas posso tentar te ajudar sim, naquilo que estiver ao meu alcanse.
Atenciosamente,
Estou tendo problemas com datas no SQLite e achei o seu post, talvez vc possa me ajudar.
Estou tentando migrar o banco do TRAC no SQLite para o SQL Server. Porém não estou conseguindo visualizar as datas da tabela ticket, nem no SQLite Administrator nem no prompt de comando (sqlite3). As colunas time e changetime vêm em branco.
Você sabe como fazer para visualizar os valores?
No prompt eu tento "select datetime(time / 1000000, 'uniepoch', 'localtime'), datetime(changetime / 1000000, 'uniepoch', 'localtime') from ticket" mas não retorna nada, e eu sei que tem valores nessas colunas.
Você pode me ajudar?
13/08/2019
Fernanda
Estou usando o SQL Server 2017, mas o problema é no SQLite.
Também usávamos o TRAC, um software para chamados técnicos, mas agora estamos usando um novo sistema e eu preciso migrar os tickets antigos para o sistema novo.
Estou gerando arquivos csv pelo command prompt, usando o comando Separator, o Output e um select. Só que os campos do tipo data vêm em branco.
Estou formatando os campos no select com a função datetime:
select datetime(time / 1000000, 'uniepoch', 'localtime'), datetime(changetime / 1000000, 'uniepoch', 'localtime') from ticket
porém continua retornando em branco.
Você sabe por quê, e como solucionar esse problema?
Um abraço,
Fernanda Araujo
13/08/2019
Jothaz
Estou usando o SQL Server 2017, mas o problema é no SQLite.
Também usávamos o TRAC, um software para chamados técnicos, mas agora estamos usando um novo sistema e eu preciso migrar os tickets antigos para o sistema novo.
Estou gerando arquivos csv pelo command prompt, usando o comando Separator, o Output e um select. Só que os campos do tipo data vêm em branco.
Estou formatando os campos no select com a função datetime:
select datetime(time / 1000000, 'uniepoch', 'localtime'), datetime(changetime / 1000000, 'uniepoch', 'localtime') from ticket
porém continua retornando em branco.
Você sabe por quê, e como solucionar esse problema?
Um abraço,
Fernanda Araujo
Pelo que entendi você esta usando o SQLCMD no prompt de comando?
Por favor post o comando completo que você esta usando, facilita a ajuda.
Já usei o comando abaixo usando o PowerShell e funciona.
Invoke-Sqlcmd -Query "SELECT * FROM Sua_tabela;" ` -Database Seu_banco_dados ` -Server Seu_server | Export-Csv -NoTypeInformation ` -Path "Seu_cvs.csv" ` -Encoding UTF8
13/08/2019
Alex Lekao
Me tira uma dúvida... pq vc esta usando esse "/ 1000000"?
Experimentou fazer a operação sem ele?
Pelo que estou vendo na documentação, o que vc esta usando esta correto.
Estou usando o SQL Server 2017, mas o problema é no SQLite.
Também usávamos o TRAC, um software para chamados técnicos, mas agora estamos usando um novo sistema e eu preciso migrar os tickets antigos para o sistema novo.
Estou gerando arquivos csv pelo command prompt, usando o comando Separator, o Output e um select. Só que os campos do tipo data vêm em branco.
Estou formatando os campos no select com a função datetime:
select datetime(time / 1000000, 'uniepoch', 'localtime'), datetime(changetime / 1000000, 'uniepoch', 'localtime') from ticket
porém continua retornando em branco.
Você sabe por quê, e como solucionar esse problema?
Um abraço,
Fernanda Araujo
13/08/2019
Alex Lekao
Seu script parece estar errado.
de uma olhada e ajuste para "unixepoch".
Dê uma olhada e me diga se funcionou.
Atenciosamente,
Estou usando o SQL Server 2017, mas o problema é no SQLite.
Também usávamos o TRAC, um software para chamados técnicos, mas agora estamos usando um novo sistema e eu preciso migrar os tickets antigos para o sistema novo.
Estou gerando arquivos csv pelo command prompt, usando o comando Separator, o Output e um select. Só que os campos do tipo data vêm em branco.
Estou formatando os campos no select com a função datetime:
select datetime(time / 1000000, 'uniepoch', 'localtime'), datetime(changetime / 1000000, 'uniepoch', 'localtime') from ticket
porém continua retornando em branco.
Você sabe por quê, e como solucionar esse problema?
Um abraço,
Fernanda Araujo
14/08/2019
Fernanda
Clique aqui para fazer login e interagir na Comunidade :)