Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Utilização de funções de tempo

Bom dia,

Criei uma database no postgre chamada dataset e estou querendo usar a função CURRENT_TIMESTAMP, mas a tentativa de INSERT deu este erro

" : ERROR: sintaxe de entrada é inválida para tipo timestamp: " CURRENT_TIMESTAMP ."

CREATE TABLE TB_EXPERIMENTO( dt_hora_inicial TIMESTAMP, cd_id_dataset VARCHAR (20) NOT NULL, cd_id_modelo VARCHAR (20) NOT NULL, cd_id_metrica VARCHAR (20) NOT NULL, resultado TEXT NOT NULL);

('CURRENT_TIMESTAMP', ' DATASET0006 ', ' MOD0006', ' M0001 ', ' Resultados de aprendizagem: Análise Exploratória de Dados, Preparando os dados para treinar um modelo, Treinamento e realização de previsões usando um modelo de classificação, Avaliação do modelo. ');

Qual seria o modo correto?


Outra questão é que fiz o insert corretamente na tb_usuario, mas quando faço essa query não vem o resultado.

SELECT DISTINCT nm_usuario, funcao_usuario FROM tb_usuario WHERE funcao_usuario = 'DBA';

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Quando fiz esta query veio o resultado. O que pode ser?

SELECT nm_usuario, funcao_usuario FROM tb_usuario;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Boa noite, Taís! Tudo bem?

Sobre a sua primeira dúvida, eu a respondi aqui:

Para entender melhor o cenário da sua segunda dúvida e te ajudar de uma melhor forma, disponibilize aqui:

  • O link da aula/atividade da questão
  • O código usado para criar a tabela tb_usuario
  • O código usado para inserir os dados na tabela tb_usuario
Com essas informações, conseguirei te ajudar de forma mais precisa. Ah, se quiser, dá uma olhadinha neste guia sobre como fazer uma boa pergunta no fórum — ele mostra exatamente o que precisamos saber pra conseguir te ajudar da melhor forma e com mais agilidade.
Fico no aguardo e à disposição

Oi Daniel, Tudo bem,

Em relação a criação da tabela como ficaria este campo?

'dt_hora_inicial' seria do tipo TIMESTAMP mesmo?

CREATE TABLE TB_EXPERIMENTO( dt_hora_inicial TIMESTAMP, cd_id_dataset VARCHAR (20) NOT NULL, cd_id_modelo VARCHAR (20) NOT NULL, cd_id_metrica VARCHAR (20) NOT NULL, resultado TEXT NOT NULL);

Em relação a segunda pergunta

Estou fazendo o curso SQL com Postgre, mas o banco de dados eu mesma criei. Usei

CREATE TABLE TB_USUARIO( cd_id_usuario VARCHAR (20) NOT NULL, nm_usuario VARCHAR (200) NOT NULL, cpf_usuario VARCHAR (11) NOT NULL, funcao_usuario VARCHAR (40) NOT NULL);

e

INSERT INTO TB_USUARIO (cd_id_usuario, nm_usuario, cpf_usuario, funcao_usuario) VALUES ('USER0001','Vitor Gabriel Mendes ','000.000.000.01', ' DBA '), ('USER0002',' João Pedro Carvalho ','000.000.000.02', ' DBA '), ('USER0003',' Daniel Melo ','000.000.000.03', ' DBA '), ('USER0004',' Matheus Ferreira ','000.000.000.04', ' DBA '), ('USER0005',' Rafael Ferreira ','000.000.000.05', ' DBA '), ('USER0006',' Nathan Cavalcanti ','000.000.000.06', ' Analista de Sistema '), ('USER0007',' Samuel Costa ','000.000.000.07', ' Analista de Sistema '), ('USER0008',' Rodrigo Moraes ','000.000.000.08', ' Analista de Sistema '), ('USER0009',' Bárbara Freitas ','000.000.000.09', ' Analista de Sistema '), ('USER0010',' Diogo Pinto ','000.000.000.10', ' Analista de Sistema '), ('USER0011',' Julia Melo ','000.000.000.11', ' Projetista '), ('USER0012',' Mariana Correia ','000.000.000.12', ' Projetista '), ('USER0013',' Beatriz Santos ','000.000.000.13', ' Projetista '), ('USER0014',' Nathan Cavalcanti ','000.000.000.14', ' Projetista '), ('USER0015',' Maria Alice Peixoto ','000.000.000.15', ' Projetista '), ('USER0016',' Stella Dias ','000.000.000.16', ' Usuario sofisticado '), ('USER0017',' Laura Lima ','000.000.000.17', ' Usuario sofisticado '), ('USER0018',' Giovanna Oliveira ','000.000.000.18', ' Usuario sofisticado '), ('USER0019',' Taís França ','000.000.000.19', ' Usuario casual '), ('USER0020',' Vinicius de Paula ','000.000.000.20', ' Usuario casual '), ('USER0021',' Vera Lúcia ','000.000.000.21', ' Usuario casual ');

quando coloco o 'WHERE', a query não traz os dados.

solução!

Bom dia, Taís! Tudo bom?

Identifiquei o erro, ao inserir os dados na tabela, os valores de DBA estão com um caractere de espaço antes e depois do conjunto de caracteres que você deseja inserir. Dessa maneira, a query não está conseguindo retornar como igual 'DBA' e ' DBA ', são elementos diferentes.

E reparei que você fez isso ao inserir todos os outros valores.

O código corrigido fica assim:

CREATE TABLE TB_USUARIO(
cd_id_usuario VARCHAR (20) NOT NULL,
nm_usuario VARCHAR (200) NOT NULL,
cpf_usuario VARCHAR (11) NOT NULL,
funcao_usuario VARCHAR (40) NOT NULL);

INSERT INTO TB_USUARIO
(cd_id_usuario, nm_usuario, cpf_usuario, funcao_usuario)
VALUES
('USER0001','Vitor Gabriel Mendes','000.000.000.01', 'DBA'),
('USER0002','João Pedro Carvalho','000.000.000.02', 'DBA'),
('USER0003','Daniel Melo','000.000.000.03', 'DBA'),
('USER0004','Matheus Ferreira','000.000.000.04', 'DBA'),
('USER0005','Rafael Ferreira','000.000.000.05', 'DBA'),
('USER0006','Nathan Cavalcanti','000.000.000.06', 'Analista de Sistema'),
('USER0007','Samuel Costa','000.000.000.07', 'Analista de Sistema'),
('USER0008','Rodrigo Moraes','000.000.000.08', 'Analista de Sistema'),
('USER0009','Bárbara Freitas','000.000.000.09', 'Analista de Sistema'),
('USER0010','Diogo Pinto','000.000.000.10', 'Analista de Sistema'),
('USER0011','Julia Melo','000.000.000.11', 'Projetista'),
('USER0012','Mariana Correia','000.000.000.12', 'Projetista'),
('USER0013','Beatriz Santos','000.000.000.13', 'Projetista'),
('USER0014','Nathan Cavalcanti','000.000.000.14', 'Projetista'),
('USER0015','Maria Alice Peixoto','000.000.000.15', 'Projetista'),
('USER0016','Stella Dias','000.000.000.16', 'Usuario sofisticado'),
('USER0017','Laura Lima','000.000.000.17', 'Usuario sofisticado'),
('USER0018','Giovanna Oliveira','000.000.000.18', 'Usuario sofisticado'),
('USER0019','Taís França','000.000.000.19', 'Usuario casual'),
('USER0020','Vinicius de Paula','000.000.000.20', 'Usuario casual'),
('USER0021','Vera Lúcia','000.000.000.21', 'Usuario casual');

SELECT DISTINCT nm_usuario, funcao_usuario FROM tb_usuario WHERE funcao_usuario = 'DBA';

Como resultado, teremos:

Resultados da consulta do banco de dados mostrando usuários com funções 'DBA': Vitor Gabriel Mendes, João Pedro Carvalho, Daniel Melo, Matheus Ferreira, Rafael Ferreira.

Espero ter ajudado e fico à disposição se precisar.

Abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado

Olá Daniel, Estou bem. Muito obrigada pela ajuda.