Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sempre quando usamos a função strftime, o valor retorna uma string?

Primeira dúvida é se quando definimos o tipo de dados em uma coluna na criação de uma tabela como DATE, o valor retornado vai ser uma STRING ou número? e sempre que usarmos a função strftime também será retornado uma string?

1 resposta
solução!

Oi Bruno,

Excelente pergunta! 👍

Quando você define uma coluna como DATE no SQLite, o valor armazenado internamente é um texto no formato ISO8601 (YYYY-MM-DD).

No entanto, ao consultar, o SQLite pode retornar esse valor como texto ou número, dependendo do contexto.

A função strftime sempre retorna uma string, pois ela formata a data/hora de acordo com o formato especificado.

Mesmo que a entrada seja um valor numérico ou um tipo DATE, a saída será sempre uma string.

Exemplo:

-- Cria uma tabela com uma coluna DATE
CREATE TABLE exemplo (data_col DATE);

-- Insere uma data
INSERT INTO exemplo (data_col) VALUES ('2024-03-15');

-- Consulta a data (retorna como string)
SELECT data_col FROM exemplo; -- Resultado: '2024-03-15'

-- Usa strftime para formatar a data (retorna uma string)
SELECT strftime('%d/%m/%Y', data_col) FROM exemplo; -- Resultado: '15/03/2024'

Para saber mais: Documentação oficial do SQLite sobre funções de data e hora. Este link aborda em detalhes as funções de data e hora do SQLite, incluindo strftime, e explica como os valores são armazenados e retornados.

Continue explorando e aprofundando seus conhecimentos! 🤔