AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / 问题

Perguntas[date](dba)

Martin Hope
RBS
Asked: 2022-03-02 00:20:40 +0800 CST

Dividindo o período de tempo em vários menores com duração irregular

  • 1

Temos um conjunto de dados contendo datas de eventos, outros dados de eventos e a data de início e término da 'temporada do evento' em que o evento ocorreu.

A questão é a seguinte: no postgresql, desejo dividir as temporadas de eventos em várias temporadas menores, encerrando uma nova temporada uma semana após a ocorrência de um evento. Uma nova temporada começará no dia seguinte, terminando novamente 7 dias após o primeiro evento desta nova temporada. Isso é muito fácil de fazer se houvesse um evento todos os dias, eu poderia simplesmente usar generate_series() e dividir cada temporada em pedaços de 7 dias.

No entanto, o problema é que não há um evento todos os dias, e desejo que uma nova temporada termine apenas 6 dias após o evento ter ocorrido.

Por exemplo, se houver um evento nos dias 1,2,16,18 e 20 da temporada antiga (dia 1-31), as novas temporadas terão as seguintes datas de início e término:

  • Parte 1: Dia 1 - Dia 7 (6 dias após o primeiro evento nesta nova temporada)
  • Parte 2: Dia 8 - Dia 16 (6 dias após o dia 10)
  • Parte 3: Dia 17 - Dia 24 (6 dias após o dia 18)
  • Parte 4: Dia 25 - Dia 31 (que não conteria eventos)

Eu tentei criar isso usando uma combinação de LAG, menor e maior, mas não consigo encontrar uma maneira que não resulte em pelo menos parte do script sendo iterativo.

Alguém pode, talvez, dar algumas dicas sobre a melhor forma de resolver esse problema?

Exemplo: Tabela de entrada:

CREATE TABLE events (
 season_start  date
,season_end    date
,event_date    date
)

INSERT INTO events (season_start, season_end, event_date) VALUES 
 ('2022-01-01', '2022-01-31', '2022-01-01')
,('2022-01-01', '2022-01-31', '2022-01-02')
,('2022-01-01', '2022-01-31', '2022-01-10')
,('2022-01-01', '2022-01-31', '2022-01-16')
,('2022-01-01', '2022-01-31', '2022-01-18')
,('2022-01-01', '2022-01-31', '2022-01-20')
;

A saída esperada seria:

season_start | season_end | event_date
2022-01-01   | 2022-01-07 | 2022-01-01
2022-01-01   | 2022-01-07 | 2022-01-02
2022-01-08   | 2022-01-16 | 2022-01-10
2022-01-08   | 2022-01-16 | 2022-01-16
2022-01-17   | 2022-01-24 | 2022-01-18
2022-01-17   | 2022-01-24 | 2022-01-20

Se o evento do dia 10 não existisse, a saída esperada seria:

season_start | season_end | event_date
2022-01-01   | 2022-01-07 | 2022-01-01
2022-01-01   | 2022-01-07 | 2022-01-02
2022-01-08   | 2022-01-22 | 2022-01-16
2022-01-08   | 2022-01-22 | 2022-01-18
2022-01-08   | 2022-01-22 | 2022-01-20
postgresql date
  • 1 respostas
  • 41 Views
Martin Hope
Dolphin
Asked: 2022-01-22 01:41:44 +0800 CST

como converter uma string para data no MySQL 5.7

  • 0

Agora eu tenho uma string de dados como esta 2002年05月11日, quero converter essa string como um timestamp de data unix, o que devo fazer para converter desta vez? Eu tentei desta forma:

select STR_TO_DATE("2002年05月11日", "YYYY年MM月dd日")

não funcionou. Então eu tentei isso:

select STR_TO_DATE("2002年05月11日", "%Y年%M月%d日")

ainda não funcionou. o que devo fazer para convertê-lo em formato de data que possa entender por banco de dados?

mysql date
  • 1 respostas
  • 49 Views
Martin Hope
Dmitry K.
Asked: 2021-11-29 11:57:37 +0800 CST

Postgres encontra lacunas entre um intervalo de datas e outros

  • 1

Minha pergunta é semelhante a https://stackoverflow.com/a/41267928/2585154 , mas no meu caso preciso dividir/dividir o intervalo de datas por vários intervalos de datas, não apenas um.

No meu caso também é garantido que os "intervalos de datas a serem divididos" não se sobreponham uns aos outros.

Exemplo 1:

Período a ser dividido: 2021-01-01 2021-12-31

Períodos a serem divididos por (1):

  • 01-03-2021 02-06-2021

Eu quero obter a seguinte saída:

  • 2021-01-01 2021-02-28
  • 03-06-2021 31-12-2021

Exemplo 2:

Período a ser dividido: 2021-01-01 2021-12-31

Períodos a serem divididos por (2):

  • 01-03-2021 02-06-2021
  • 01-07-2021 30-12-2021

Eu quero obter a seguinte saída:

  • 2021-01-01 2021-02-28
  • 2021-06-03 2021-06-30
  • 31-12-2021 31-12-2021
postgresql date
  • 1 respostas
  • 339 Views
Martin Hope
attoslins
Asked: 2021-10-03 11:46:07 +0800 CST

MariaDB 0º dia?

  • 0

insira a descrição da imagem aqui

Hoje é dia 2 de outubro, adicionei uma linha à minha tabela usando curdate() -2 e agora mostra o dia 0 de outubro quando deveria mostrar 30 de setembro. Alguém sabe porque isto está acontecendo?

mariadb date
  • 1 respostas
  • 41 Views
Martin Hope
LaxMack
Asked: 2021-08-27 12:43:48 +0800 CST

Criando uma consulta de pesquisa diária para o dia anterior até hoje

  • 0

Estou tentando fazer uma consulta de pesquisa personalizada no maximo para equipamentos no trabalho. Eu tenho um intervalo de tempo específico que eu quero, mas é sempre para o dia anterior. Exemplo: Hoje é 26/08/2021. Quero uma consulta para 25/08/2021 às 05:30 até 26/08/2021 às 02:30. Isso é para todos os dias, então o dia 27 significa que eu preciso do dia 26 ao dia 27 e assim por diante.

Abaixo está como aparece quando eu faço manualmente para o dia.

(reportdate <= TO_TIMESTAMP ('2021-08-24 06:30:00.000' , 'YYYY-MM-DD HH24:MI:SS.FF')  
and persongroup = 'LF WES MAINT' and siteid = 'ARD-WES' 
and reportdate >= TO_TIMESTAMP ('2021-08-23 09:30:00.000' , 'YYYY-MM-DD HH24:MI:SS.FF'))
query date
  • 1 respostas
  • 25 Views
Martin Hope
User1974
Asked: 2021-06-13 16:07:50 +0800 CST

Obter data do valor da sequência?

  • 0

Eu tenho um sistema OOB que tem centenas de tabelas. Cada tabela tem uma coluna ROWSTAMP (inteiro) que é preenchida por um gatilho toda vez que um registro é criado/atualizado.

Todas as tabelas e gatilhos no banco de dados usam a mesma sequência. Cada vez que um registro é atualizado em qualquer lugar do banco de dados, essa sequência é usada para obter o próximo inteiro disponível. (Suponho que eu poderia considerar a sequência como uma espécie de sequência global ).

IBM: Uso da coluna ROWSTAMP nas tabelas Maximo

É lamentável que essas colunas ROWSTAMP sejam números inteiros e não datas. O que realmente preciso nas tabelas são as colunas CHANGEDATE. As datas seriam úteis para solução de problemas de entrada de dados, relatórios e análises em geral. Mas não posso justificar a personalização de centenas de tabelas com colunas de data e a adição de centenas de gatilhos no sistema OOB. As tabelas customizadas não seriam suportadas pela IBM e não valeria a pena o esforço/complexidade adicional.


Eu sinto que essas colunas ROWSTAMP estão tão perto de serem úteis para mim. Não posso deixar de me perguntar:

Existe uma maneira de recuperar a data em que esses valores de sequência ROWSTAMP foram gerados?

Por exemplo, e duvido que isso seja possível, eu poderia adicionar uma coluna DATE à sequência e depois juntar da minha tabela à sequência para obter a data? Ou eu poderia usar algum tipo de mecanismo de log na sequência para colocar linhas (com datas) em uma tabela sempre que o próximo valor de sequência for usado?

oracle date
  • 1 respostas
  • 63 Views
Martin Hope
A.Motahari
Asked: 2021-05-11 04:16:27 +0800 CST

Agrupar por data Jalali no Postgresql

  • 2

Eu quero GROUP BYo mês de jalali, todas as datas salvas como formato gregoriano no meu banco de dados, encontrei a seguinte consulta sql, mas agrupei por data gregoriana

SELECT COUNT(reserverow.id), EXTRACT(MONTH FROM reserverow.used_date) as "Month"
FROM reserverow
WHERE reserverow.used_date > '2000-09-28 01:00:00'
GROUP BY EXTRACT(MONTH FROM reserverow.used_date)
postgresql date
  • 1 respostas
  • 191 Views
Martin Hope
AndreKR
Asked: 2021-04-25 08:47:06 +0800 CST

Adicionar um número de dias a um carimbo de data/hora

  • 2

Eu gostaria de adicionar (ou melhor, subtrair) um número de dias de um timestamp.

Por exemplo de 2020-04-13 00:00:00 Europe/Berlinquero subtrair 20 dias e espero que o resultado seja 2020-03-24 00:00:00 Europe/Berlin.

Se eu correr

select ('2020-04-13 00:00:00 Europe/Berlin'::timestamptz - INTERVAL '20 DAY') AT TIME ZONE 'Europe/Berlin'

eu consigo 2020-03-23 23:00:00.000000.

Isso parece ser porque o PostgreSQL subtrai 20 * 24 horas (uma mudança de horário de verão ocorre durante esse intervalo de datas), o que é diferente de subtrair 20 dias .

postgresql date
  • 1 respostas
  • 263 Views
Martin Hope
john doe
Asked: 2021-04-23 09:36:53 +0800 CST

Como comparar a parte do tempo de datas para várias datas

  • 0

Eu tenho um banco de dados postgresql com vários registros que têm uma coluna de data que se parece com 2020-10-12 12:45:55. Estou querendo construir uma consulta que procure atividade com carimbos de data/hora em qualquer dia, mas entre 22:00:00 de um dia e 05:00:00 do dia seguinte na parte da hora real.

Como ignoro a data e me concentro apenas na parte da hora desta coluna? Acho que preciso dividir a coluna de data, mas ainda ser capaz de usar <e >operadores na string de tempo que resta.

postgresql date
  • 2 respostas
  • 879 Views
Martin Hope
Elio Fernandes
Asked: 2021-01-26 07:40:45 +0800 CST

Incrementar a data em 1 dia com base na data de outra coluna do registro anterior

  • -1

Estou usando o SQL server 2008 R2 e não tenho as funções LAG e LEAD.

Tenho essa tabela inicial e preciso que StartDate seja igual a EndDate do registro anterior mais 1 dia. Consulte a Tabela de Resultados.

insira a descrição da imagem aqui

Atenciosamente, Elio Fernandes.

sql-server-2008-r2 date
  • 1 respostas
  • 499 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve