Menu principal                 [Fechar]


SQL - Structured Query Language - SELECT's para recuperação de datas


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF.

Abaixo estaremos mostrando diversas formas de fazer estes select - testes realizados no dia 15/04/2003 - Banco de Dados - DB2
 Função Recuperar o TIMESTAMP atual
 Comando SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1
 Resultado 2003-04-15-11.40.10.775798

 Função Recuperar a DATA atual
 Comando SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1
 Resultado 15.04.2003

 Função Calcular a DATA informada menos 1 (hum) dia
 Comando SELECT DATE('15.04.2003') - 1 DAY FROM SYSIBM.SYSDUMMY1
 Resultado 14.04.2003

 Função Calcular a DATA informada menos 1 (hum) mes
 Comando SELECT DATE('15.04.2003') - 1 MONTH FROM SYSIBM.SYSDUMMY1
 Resultado 15.03.2003

 Função Calcular a DATA informada menos 1 (hum) ano / 52 (cincoenta e dois) anos
 Comando SELECT DATE('15.04.2003') - 1 YEAR FROM SYSIBM.SYSDUMMY1
 Resultado 15.04.2002
 Comando SELECT DATE('15.04.2003') - 52 YEAR FROM SYSIBM.SYSDUMMY1
 Resultado 15.04.1951

 Função Recuperar o dia da DATA corrente
 Comando  SELECT DAY(CURRENT DATE) FROM SYSIBM.SYSDUMMY1
 Resultado 15

 Função Recuperar o mes da DATA corrente
 Comando SELECT MONTH(CURRENT DATE) FROM SYSIBM.SYSDUMMY1
 Resultado 4

 Função Recuperar o ano da DATA corrente
 Comando SELECT YEAR(CURRENT DATE) FROM SYSIBM.SYSDUMMY1
 Resultado 2003

 Função Recuperar o dia da DATA corrente menos 2 dias
 Comando SELECT DAY(CURRENT DATE) - 2 FROM SYSIBM.SYSDUMMY1
 Resultado 13

 Função Recuperar o mes da DATA corrente menos 2 mes
 Comando SELECT MONTH(CURRENT DATE) - 2 FROM SYSIBM.SYSDUMMY1
 Resultado 2

 Função Recuperar o ano da DATA corrente menos 52 anos
 Comando SELECT YEAR(CURRENT DATE) - 52 FROM SYSIBM.SYSDUMMY1
 Resultado 1951

 Função Recuperar o dia da semana (domingo, segunda, terça ...)
 Comando SELECT (DAYS(CURRENT DATE) - (DAYS(CURRENT DATE) / 7 * 7) +1
INTO     :WS-DIA-SEMANA
FROM     SYSIBM.SYSDUMMY1
 Resultado 3

 Função Recuperar o dia da semana (domingo, segunda, terça ...) - cuidado no formato da data
 Comando SELECT (DAYS('15.04.2003') - (DAYS('15.04.2003') / 7 * 7) +1
INTO     :WS-DIA-SEMANA
FROM     SYSIBM.SYSDUMMY1
 Resultado 3

 Função Recuperar o dia da semana (domingo, segunda, terça ...) - cuidado no formato da data
 Comando SELECT (DAYS('2003-04-15') - (DAYS('2003-04-15') / 7 * 7) +1
INTO     :WS-DIA-SEMANA
FROM     SYSIBM.SYSDUMMY1
 Resultado 3


Testes realizados no dia 15/04/2003
                     SELECT para saber o dia da semana - pode ser qualquer data

                     A codificação abaixo é para a linguagem de programação COBOL

                     01     WS-AUXILIARES.
                              05     WS-DIA-SEMANA        PIC S9(004) USAGE COMP.
                              05     WS-DIA-EXTENSO      PIC X(008).

                     SELECT (DAYS('2003-03-11') - DAYS('2003-03-11') / 7 * 7) + 1      -- no lugar da data pode ser uma variável
                     INTO     :WS-DIA-SEMANA
                     FROM     SYSIBM.SYSDUMMY1

                     SELECT (DAYS('11.03.2003') - DAYS('11.03.2003') / 7 * 7) + 1      -- no lugar da data pode ser uma variável
                     INTO     :WS-DIA-SEMANA
                     FROM     SYSIBM.SYSDUMMY1

                     SELECT DAYOFWEEK ('2003-03-11')     -- no lugar da data pode ser uma variável
                     INTO     :WS-DIA-SEMANA
                     FROM     SYSIBM.SYSDUMMY1

                     SELECT DAYOFWEEK ('11.03.2003')     -- no lugar da data pode ser uma variável
                     INTO     :WS-DIA-SEMANA
                     FROM     SYSIBM.SYSDUMMY1

                     Resultado: 3 (terça-feira)


           EVALUATE WS-DIA-SEMANA                                              
                    WHEN 1 
                         MOVE 'DOMINGO'  TO DIA-EXTENSO                                      
                    WHEN 2 
                         MOVE 'SEGUNDA'  TO DIA-EXTENSO                                             
                    WHEN 3 
                         MOVE 'TERCA'    TO DIA-EXTENSO
                    WHEN 4 
                         MOVE 'QUARTA'   TO DIA-EXTENSO                                             
                    WHEN 5 
                         MOVE 'QUINTA'   TO DIA-EXTENSO                                              
                    WHEN 6 
                         MOVE 'SEXTA'    TO DIA-EXTENSO                                              
                    WHEN 7 
                         MOVE 'SABADO'   TO DIA-EXTENSO                                              
                    WHEN OTHER                                          
                         MOVE 'INVALIDO' TO DIA-EXTENSO            
           END-EVALUATE.


Volta para o início da página

Volta a página anterior

Volta ao Menu Principal