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 / 168089
Accepted
Peter PitLock
Peter PitLock
Asked: 2017-03-25 05:25:33 +0800 CST2017-03-25 05:25:33 +0800 CST 2017-03-25 05:25:33 +0800 CST

Compare cada dia do ano com DATEFIRST = 1 e DATEFIRST = 7

  • 772

Para obter uma lista de semanas, basta executar isso (encontrado online):

SET DATEFIRST 7
;with DateCTE   as
(
    select cast('01/01/2017' as datetime) DateValue
    union all
    select DateValue + 1
    from    DateCTE  
    where   DateValue + 1 < '1/1/2018'
)


Select
    cast(CAST(DateValue AS CHAR(11)) AS DateTime) AS [FullDate],
    DATEPART(wk, DateValue) AS WeekOfYear,
    DATEPART(yy, DateValue) AS CalendarYear 
from   DateCTE
OPTION (MAXRECURSION 0)

insira a descrição da imagem aqui

Obviamente, se eu SET DATEFIRST = 1, obtém resultados diferentes.

insira a descrição da imagem aqui

Preciso comparar os dias em uma tabela, sem usar variáveis ​​de tabela. Isto é o que eu gostaria de alcançar: insira a descrição da imagem aqui

Assim, gostaria de ver os mesmos 365 dias que estarão disponíveis em ambos os CTE's,

Eu quero comparar o WeekOfYear com base em diferentes DateFirsts.

Eu não sei como fazer isso de forma eficaz. Só consigo fazer funcionar quando

  1. Crie a variável de tabela 1 e execute o CTE para DateFirst7
  2. Crie a variável de tabela 2 e execute o CTE para DateFirst1

Isso é ineficiente e estou procurando uma maneira melhor de fazer isso.

Existem algumas coisas trabalhando contra isso 1. Eu não sei como definir o DateFirst dentro da consulta. Só sei configurar antes do cte. 2. Eu gostaria de usar CTEs aninhados para isso, mas OPTION (MAXRECURSION 0) não funciona bem com CTEs aninhados

Isso é possível - usando CTEs para obter os resultados necessários?

sql-server cte
  • 3 3 respostas
  • 705 Views

3 respostas

  • Voted
  1. Best Answer
    Andriy M
    2017-03-25T14:55:43+08:002017-03-25T14:55:43+08:00

    Comecei com uma tentativa de corrigir a resposta de Max Vernon para que funcionasse por qualquer ano, mas acabei com duas abordagens diferentes.

    Abordagem 1. Ser inteligente

    Nesse método, estou calculando o número da semana com base no domingo diretamente do deslocamento do primeiro domingo da semana com base no domingo do ano.

    O primeiro domingo da semana baseado no domingo de um ano pode ser obtido assim:

    SET DATEFIRST 1;
    SELECT DATEADD(DAY, -(DATEPART(WEEKDAY, @FirstDayOfYear) % 7), @FirstDayOfYear);
    

    Você está tomando o dia da semana de 1º de janeiro como um número de dias e subtraindo-o de 1º de janeiro, a menos que essa data caia no domingo, caso em que você não está subtraindo nada (é … % 7para isso que serve). Para números de semana baseados em segunda-feira, o resultado da fórmula acima sempre será um domingo e, neste caso, será o domingo da primeira semana do ano baseada em domingo.

    Antes de continuar calculando os números da semana com base no domingo, aqui está outra fórmula para transformar qualquer data em 1º de janeiro do mesmo ano:

    SELECT DATEADD(DAY, 1 - DATEPART(DAYOFYEAR, @Date), @Date);
    

    Basicamente, pegue a data e subtraia seu valor DAYOFYEAR e adicione um dia.

    Agora, aqui está uma consulta que está usando o conjunto de CTEs de Max Vernon, as duas fórmulas acima e outra para obter o número real da semana:

    SET DATEFIRST 1;
    WITH Nums AS (
        SELECT v.Num 
        FROM (VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) v(Num)
    )
    , Dates AS
    (
        SELECT Date = DATEADD(DAY
                    , ROW_NUMBER() OVER (ORDER BY n1.Num, n2.Num, n2.Num)
                    , N'2016-12-31T00:00:00')
        FROM Nums n1 --10 rows
            CROSS JOIN Nums n2 --100 rows
            CROSS JOIN Nums n3 --1000 rows, add more cross joins for more rows
    )
    SELECT [Date] = FORMAT(d.Date, 'dddd MMM dd, yyyy')
        , WeekOfYearStartingMonday = DATEPART(WEEK, d.Date)
        , WeekOfYearStartingSunday = DATEDIFF(DAY, y.Sunday1, d.Date) / 7 + 1
    FROM Dates AS d
    CROSS APPLY (
        SELECT DATEADD(DAY, 1 - DATEPART(DAYOFYEAR, d.Date), d.Date)
    ) AS x (January1)
    CROSS APPLY (
        SELECT DATEADD(DAY, -(DATEPART(WEEKDAY, x.January1) % 7), x.January1)
    ) AS y (Sunday1)
    ORDER BY d.Date;
    

    Abordagem 2. Usando a brecha do sistema

    Esse método é completamente diferente, pois depende de uma peculiaridade interna da função DATEDIFF.

    Como você provavelmente sabe, definir DATEFIRST afeta os resultados de funções como DATEPART(WEEK)e DATEPART(WEEKDAY). Ao contrário deles, DATEDIFF(WEEK)não respeita a configuração DATEFIRST. Ele sempre calcula a diferença como se DATEFIRST fosse definido como 7, ou seja, sempre trata as semanas como baseadas no domingo.

    Sabendo disso, você pode calcular a diferença em semanas entre 1º de janeiro e qualquer data do mesmo ano, adicionar 1 e usar isso como o número da semana com base no domingo:

    SET DATEFIRST 1;
    WITH Nums AS (
        SELECT v.Num 
        FROM (VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) v(Num)
    )
    , Dates AS
    (
        SELECT Date = DATEADD(DAY
                    , ROW_NUMBER() OVER (ORDER BY n1.Num, n2.Num, n2.Num)
                    , N'2016-12-31T00:00:00')
        FROM Nums n1 --10 rows
            CROSS JOIN Nums n2 --100 rows
            CROSS JOIN Nums n3 --1000 rows, add more cross joins for more rows
    )
    SELECT [Date] = FORMAT(d.Date, 'dddd MMM dd, yyyy')
        , WeekOfYearStartingMonday = DATEPART(WEEK, d.Date)
        , WeekOfYearStartingSunday = DATEDIFF(WEEK, x.January1, d.Date) + 1
    FROM Dates AS d
    CROSS APPLY (
        SELECT DATEADD(DAY, 1 - DATEPART(DAYOFYEAR, d.Date), d.Date)
    ) AS x (January1)
    ORDER BY d.Date;
    
    • 4
  2. Hannah Vernon
    2017-03-25T10:55:40+08:002017-03-25T10:55:40+08:00

    Você pode simular a modificação da DATEFIRSTconfiguração, pois é uma fórmula bem conhecida em que você está simplesmente alterando o primeiro dia da semana.

    SET DATEFIRST 1;
    ;WITH Nums AS (
        SELECT v.Num 
        FROM (VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) v(Num)
    )
    , Dates AS
    (
        SELECT Date = DATEADD(DAY
                    , ROW_NUMBER() OVER (ORDER BY n1.Num, n2.Num, n2.Num)
                    , N'2016-12-31T00:00:00')
        FROM Nums n1 --10 rows
            CROSS JOIN Nums n2 --100 rows
            CROSS JOIN Nums n3 --1000 rows, add more cross joins for more rows
    )
    SELECT [Date] = FORMAT(d.Date, 'dddd MMM dd, yyyy')
        , WeekOfYearStartingMonday = DATEPART(WEEK, d.Date)
        , WeekOfYearStartingSunday = CASE WHEN DATEPART(WEEKDAY, d.Date) = 7
                                          THEN DATEPART(WEEK, d.Date) 
                                          ELSE DATEPART(WEEK, d.Date) - 1 
                                     END
    FROM Dates d
    ORDER BY d.Date;
    GO
    

    As primeiras semanas dos resultados:

    +------------------------+------------------------ --+--------------------------+
    | Data | SemanaDoAnoInícioSegunda-feira | SemanaDoAnoInícioDomingo |
    +------------------------+------------------------ --+--------------------------+
    | domingo 01 de janeiro de 2017 | 1 | 1 |
    | segunda-feira, 02 de janeiro de 2017 | 2 | 1 |
    | terça-feira 03 de janeiro de 2017 | 2 | 1 |
    | quarta-feira, 04 de janeiro de 2017 | 2 | 1 |
    | quinta-feira, 05 de janeiro de 2017 | 2 | 1 |
    | sexta-feira, 06 de janeiro de 2017 | 2 | 1 |
    | sábado 07 de janeiro de 2017 | 2 | 1 |
    | domingo 08 de janeiro de 2017 | 2 | 2 |
    | segunda-feira, 09 de janeiro de 2017 | 3 | 2 |
    | terça-feira, 10 de janeiro de 2017 | 3 | 2 |
    | quarta-feira, 11 de janeiro de 2017 | 3 | 2 |
    | quinta-feira, 12 de janeiro de 2017 | 3 | 2 |
    | sexta-feira, 13 de janeiro de 2017 | 3 | 2 |
    | sábado, 14 de janeiro de 2017 | 3 | 2 |
    | domingo, 15 de janeiro de 2017 | 3 | 3 |
    | segunda-feira, 16 de janeiro de 2017 | 4 | 3 |
    | terça-feira, 17 de janeiro de 2017 | 4 | 3 |
    | quarta-feira, 18 de janeiro de 2017 | 4 | 3 |
    | quinta-feira, 19 de janeiro de 2017 | 4 | 3 |
    | sexta-feira, 20 de janeiro de 2017 | 4 | 3 |
    | sábado, 21 de janeiro de 2017 | 4 | 3 |
    | domingo, 22 de janeiro de 2017 | 4 | 4 |
    | segunda-feira, 23 de janeiro de 2017 | 5 | 4 |
    +------------------------+------------------------ --+--------------------------+
    • 3
  3. RDFozz
    2017-03-25T14:07:01+08:002017-03-25T14:07:01+08:00

    As alegrias do caso de borda. A solução de Max funciona bem para 2017, porque 2017 começou em um domingo. Se você expandir o intervalo de datas, verá que os anos que começam em um domingo são bons. No entanto, se o ano começar em qualquer outro dia da semana, a semana parcial anterior ao primeiro domingo sempre será exibida como Semana 0. Algumas empresas podem querer que seja a semana 0 (já que é uma semana parcial) ou parte da semana anterior ano, ou o que for - no entanto, semanas parciais para as datas de segunda-feira são a semana 1, não a semana 0, então temos uma discrepância.

    A maneira mais simples que vi de resolver foi verificar se o ano começava no domingo. Se isso acontecer, use o código original de Max para WeekOfYearStartingSunday; se não, basta adicionar um ao que ele tinha:

    SET DATEFIRST 1;
    ;WITH Nums AS (
        SELECT v.Num 
        FROM (VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9)) v(Num)
    )
    , Dates AS
    (
        SELECT Date = DATEADD(DAY
                    , ROW_NUMBER() OVER (ORDER BY n1.Num, n2.Num, n2.Num)
                    , N'2016-12-31T00:00:00')
        FROM Nums n1 --10 rows
            CROSS JOIN Nums n2 --100 rows
            CROSS JOIN Nums n3 --1000 rows
            CROSS JOIN Nums n4 --10000 rows, add more cross joins for more rows
    )
    SELECT [Date] = FORMAT(d.Date, 'dddd MMM dd, yyyy')
        , WeekOfYearStartingMonday = DATEPART(WEEK, d.Date)
        , WeekOfYearStartingSunday = CASE WHEN DATEPART(WEEKDAY, DATEADD(YEAR, DATEPART(YEAR, d.date) - 1900, 0)) = 7
                                          -- Jan 1 is a Sunday
                                          THEN CASE WHEN DATEPART(WEEKDAY, d.Date) = 7
                                                    THEN DATEPART(WEEK, d.Date) 
                                                    ELSE DATEPART(WEEK, d.Date) - 1 
                                               END
    
                                          -- Jan 1 is NOT a Sunday
                                          ELSE CASE WHEN DATEPART(WEEKDAY, d.Date) = 7
                                                    THEN DATEPART(WEEK, d.Date) + 1
                                                    ELSE DATEPART(WEEK, d.Date)
                                               END
                                     END
    FROM Dates d
    -- WHERE added to just show first and last 9 days of each year; remove to see all dates
    WHERE (DATEPART(MONTH, d.date) = 12 AND DATEPART(DAY, d.date) > 22)
       OR (DATEPART(MONTH, d.date) = 1 AND DATEPART(DAY, d.date) < 10)
    ORDER BY d.Date;
    GO
    

    Aqui estão os primeiros e últimos dias dos primeiros seis anos (anos começando em todos os dias, exceto quinta-feira - que vai um pouco mais longe, devido aos anos bissextos):

    +-------------------------+--------------------------+--------------------------+
    | Date                    | WeekOfYearStartingMonday | WeekOfYearStartingSunday |
    +-------------------------+--------------------------+--------------------------+
    | Sunday Jan 01, 2017     |                        1 |                        1 |
    | Monday Jan 02, 2017     |                        2 |                        1 |
    | Tuesday Jan 03, 2017    |                        2 |                        1 |
    | Wednesday Jan 04, 2017  |                        2 |                        1 |
    | Thursday Jan 05, 2017   |                        2 |                        1 |
    | Friday Jan 06, 2017     |                        2 |                        1 |
    | Saturday Jan 07, 2017   |                        2 |                        1 |
    | Sunday Jan 08, 2017     |                        2 |                        2 |
    | Monday Jan 09, 2017     |                        3 |                        2 |
    | Saturday Dec 23, 2017   |                       52 |                       51 |
    | Sunday Dec 24, 2017     |                       52 |                       52 |
    | Monday Dec 25, 2017     |                       53 |                       52 |
    | Tuesday Dec 26, 2017    |                       53 |                       52 |
    | Wednesday Dec 27, 2017  |                       53 |                       52 |
    | Thursday Dec 28, 2017   |                       53 |                       52 |
    | Friday Dec 29, 2017     |                       53 |                       52 |
    | Saturday Dec 30, 2017   |                       53 |                       52 |
    | Sunday Dec 31, 2017     |                       53 |                       53 |
    | Monday Jan 01, 2018     |                        1 |                        1 |
    | Tuesday Jan 02, 2018    |                        1 |                        1 |
    | Wednesday Jan 03, 2018  |                        1 |                        1 |
    | Thursday Jan 04, 2018   |                        1 |                        1 |
    | Friday Jan 05, 2018     |                        1 |                        1 |
    | Saturday Jan 06, 2018   |                        1 |                        1 |
    | Sunday Jan 07, 2018     |                        1 |                        2 |
    | Monday Jan 08, 2018     |                        2 |                        2 |
    | Tuesday Jan 09, 2018    |                        2 |                        2 |
    | Sunday Dec 23, 2018     |                       51 |                       52 |
    | Monday Dec 24, 2018     |                       52 |                       52 |
    | Tuesday Dec 25, 2018    |                       52 |                       52 |
    | Wednesday Dec 26, 2018  |                       52 |                       52 |
    | Thursday Dec 27, 2018   |                       52 |                       52 |
    | Friday Dec 28, 2018     |                       52 |                       52 |
    | Saturday Dec 29, 2018   |                       52 |                       52 |
    | Sunday Dec 30, 2018     |                       52 |                       53 |
    | Monday Dec 31, 2018     |                       53 |                       53 |
    | Tuesday Jan 01, 2019    |                        1 |                        1 |
    | Wednesday Jan 02, 2019  |                        1 |                        1 |
    | Thursday Jan 03, 2019   |                        1 |                        1 |
    | Friday Jan 04, 2019     |                        1 |                        1 |
    | Saturday Jan 05, 2019   |                        1 |                        1 |
    | Sunday Jan 06, 2019     |                        1 |                        2 |
    | Monday Jan 07, 2019     |                        2 |                        2 |
    | Tuesday Jan 08, 2019    |                        2 |                        2 |
    | Wednesday Jan 09, 2019  |                        2 |                        2 |
    | Monday Dec 23, 2019     |                       52 |                       52 |
    | Tuesday Dec 24, 2019    |                       52 |                       52 |
    | Wednesday Dec 25, 2019  |                       52 |                       52 |
    | Thursday Dec 26, 2019   |                       52 |                       52 |
    | Friday Dec 27, 2019     |                       52 |                       52 |
    | Saturday Dec 28, 2019   |                       52 |                       52 |
    | Sunday Dec 29, 2019     |                       52 |                       53 |
    | Monday Dec 30, 2019     |                       53 |                       53 |
    | Tuesday Dec 31, 2019    |                       53 |                       53 |
    | Wednesday Jan 01, 2020  |                        1 |                        1 |
    | Thursday Jan 02, 2020   |                        1 |                        1 |
    | Friday Jan 03, 2020     |                        1 |                        1 |
    | Saturday Jan 04, 2020   |                        1 |                        1 |
    | Sunday Jan 05, 2020     |                        1 |                        2 |
    | Monday Jan 06, 2020     |                        2 |                        2 |
    | Tuesday Jan 07, 2020    |                        2 |                        2 |
    | Wednesday Jan 08, 2020  |                        2 |                        2 |
    | Thursday Jan 09, 2020   |                        2 |                        2 |
    | Wednesday Dec 23, 2020  |                       52 |                       52 |
    | Thursday Dec 24, 2020   |                       52 |                       52 |
    | Friday Dec 25, 2020     |                       52 |                       52 |
    | Saturday Dec 26, 2020   |                       52 |                       52 |
    | Sunday Dec 27, 2020     |                       52 |                       53 |
    | Monday Dec 28, 2020     |                       53 |                       53 |
    | Tuesday Dec 29, 2020    |                       53 |                       53 |
    | Wednesday Dec 30, 2020  |                       53 |                       53 |
    | Thursday Dec 31, 2020   |                       53 |                       53 |
    | Friday Jan 01, 2021     |                        1 |                        1 |
    | Saturday Jan 02, 2021   |                        1 |                        1 |
    | Sunday Jan 03, 2021     |                        1 |                        2 |
    | Monday Jan 04, 2021     |                        2 |                        2 |
    | Tuesday Jan 05, 2021    |                        2 |                        2 |
    | Wednesday Jan 06, 2021  |                        2 |                        2 |
    | Thursday Jan 07, 2021   |                        2 |                        2 |
    | Friday Jan 08, 2021     |                        2 |                        2 |
    | Saturday Jan 09, 2021   |                        2 |                        2 |
    | Thursday Dec 23, 2021   |                       52 |                       52 |
    | Friday Dec 24, 2021     |                       52 |                       52 |
    | Saturday Dec 25, 2021   |                       52 |                       52 |
    | Sunday Dec 26, 2021     |                       52 |                       53 |
    | Monday Dec 27, 2021     |                       53 |                       53 |
    | Tuesday Dec 28, 2021    |                       53 |                       53 |
    | Wednesday Dec 29, 2021  |                       53 |                       53 |
    | Thursday Dec 30, 2021   |                       53 |                       53 |
    | Friday Dec 31, 2021     |                       53 |                       53 |
    | Saturday Jan 01, 2022   |                        1 |                        1 |
    | Sunday Jan 02, 2022     |                        1 |                        2 |
    | Monday Jan 03, 2022     |                        2 |                        2 |
    | Tuesday Jan 04, 2022    |                        2 |                        2 |
    | Wednesday Jan 05, 2022  |                        2 |                        2 |
    | Thursday Jan 06, 2022   |                        2 |                        2 |
    | Friday Jan 07, 2022     |                        2 |                        2 |
    | Saturday Jan 08, 2022   |                        2 |                        2 |
    | Sunday Jan 09, 2022     |                        2 |                        3 |
    | Friday Dec 23, 2022     |                       52 |                       52 |
    | Saturday Dec 24, 2022   |                       52 |                       52 |
    | Sunday Dec 25, 2022     |                       52 |                       53 |
    | Monday Dec 26, 2022     |                       53 |                       53 |
    | Tuesday Dec 27, 2022    |                       53 |                       53 |
    | Wednesday Dec 28, 2022  |                       53 |                       53 |
    | Thursday Dec 29, 2022   |                       53 |                       53 |
    | Friday Dec 30, 2022     |                       53 |                       53 |
    | Saturday Dec 31, 2022   |                       53 |                       53 |
    +-------------------------+--------------------------+--------------------------+
    
    • 3

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

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